symfony doktrinini nasıl çözüleceğini: build-şema hatası (Bilinmeyen ilişki takma table_name)

3 Cevap php

bu nasıl symfony hatayı gidermek için:

C:\inetpub\wwwroot\project\trunk\preprod\signup>php symfony doctrine:build-schema --trace
>> doctrine  generating yaml schema from database


  [sfException]
  Unknown relation alias table_name


Exception trace:
  at C:\inetpub\wwwroot\project\trunk\preprod\signup\lib\vendor\symfony\lib\plugins\sfDoctrinePlugin\lib\cli\sfDoctrineCli.class.php:69
 sfDoctrineCli->notifyException at C:\inetpub\wwwroot\ project\trunk\preprod\signup\lib\vendor\symfony\lib\plugins\sfDoctrinePlugin\lib\ven
dor\doctrine\Doctrine\Cli.php:93
 Doctrine_Cli->run at C:\inetpub\wwwroot\project\trunk\preprod\signup\lib\vendor\symfony\lib\plugins\sfDoctrinePlugin\lib\task\sfDoctrineB
aseTask.class.php:112
 sfDoctrineBaseTask->callDoctrineCli at C:\inetpub\wwwroot\project\trunk\preprod\signup\lib\vendor\symfony\lib\plugins\sfDoctrinePlugin\li
b\task\sfDoctrineBuildSchemaTask.class.php:57
 sfDoctrineBuildSchemaTask->execute at C:\inetpub\wwwroot\project\trunk\preprod\signup\lib\vendor\symfony\lib\task\sfBaseTask.class.php:63

 sfBaseTask->doRun at C:\inetpub\wwwroot\project\trunk\preprod\signup\lib\vendor\symfony\lib\task\sfTask.class.php:77
 sfTask->runFromCLI at C:\inetpub\wwwroot\ project\trunk\preprod\signup\lib\vendor\symfony\lib\command\sfSymfonyCommandApplication.class.ph
p:76
 sfSymfonyCommandApplication->run at C:\inetpub\wwwroot\project\trunk\preprod\signup\lib\vendor\symfony\lib\command\cli.php:20
 include at C:\inetpub\wwwroot\project\trunk\preprod\signup\symfony:14

3 Cevap

Bu (tüm yapılandırmasını sıfırlamak ve model ve veri dosyaları silmek) bir model ve önbellek konudur

rm config/doctrine/schema.yml
rm -r cache/*
rm -r data/*
rm -r lib/model/doctrine/base

symfony cc

Ben de Symfony 1.2 döküm doktrin nesne alıcılar bu hata için builder.php yama kullanarak, ikinci bir yanıt buldum.

Symfony 1.4 ile çalışan o eski doktrin modelleri temizlemek için bir görev var olduğunu bilmek mutlu olacak. ". / Symfony doktrini: clean" o pis kurtulmak olacaktır "bu model artık sorunları yoktur".

Lütfen tablolardan biri (Doktrini hatası çıktı ikamesi ile korkunç bir terslik olmadığı sürece) tablo_ismi 'adlı başka bir tabloya başvuran gibi görünüyor. (Aslında tablo_ismi 'adında bir tablo var mı?) Bu sorunu gidermek için bu neden suçlu bulmak ve geçerli değilse ilişkisini kaldırmak için, tüm tabloların üzerine ilişkilerini kontrol edin.

Eğer bir sürü tablolar varsa geçici bir test DB içine tüm veritabanı kopyalayan deneyin ve sonra tabloları yarım bırakın ve tekrar oluşturmak komutunu çalıştırabilirsiniz. Eğer hata alamadım Eğer tablo bu yığın sorun böylece mevcut tabloları bırakın ve diğer yarısını geri olmadığını biliyoruz. Aynı hata devam ederse suçlu geçerli öbek içinde şimdi. Eğer sadece tek bir tablo üzerinden erroring ile sol konum ve size hata kaynağını bulduk olacak kadar yarıları bırakarak devam edin.

Eğer hala sorunun kesin nedenini bulma sorunları yaşıyorsanız sizinle çalışıyoruz Doktrini hangi versiyonu da SQL problem tablonun yapısını sağlayabilir ve.