Build-Schema Fehler (Unbekannt Beziehung alias table_name): wie symfony Lehre lösen
Frage
, wie Sie diesen symfony Fehler beheben:
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
Lösung
Es ist ein Modell und Cache-Problem (alle Konfiguration zurückgesetzt und das Modell und Datendateien löscht)
rm config/doctrine/schema.yml
rm -r cache/*
rm -r data/*
rm -r lib/model/doctrine/base
symfony cc
fand ich eine zweite Antwort, Patch mit builder.php auch Lehre Objekt Getter in symfony 1.2 Besetzung dieser Fehler haben.
Andere Tipps
die mit Symfony 1.4 arbeiten, werden sich freuen zu hören, dass eine Aufgabe gibt es veraltete Lehre Modelle zu reinigen. „./Symfony Lehre: clean“. Wird von diesem bösen ‚dieses Modell gibt es nicht mehr Probleme‘ loszuwerden
Eine der Tabellen erscheint zusätzlich eine Tabelle zu verweisen ‚table_name‘ (es sei denn, es ist etwas schrecklich falsch mit Lehre der Fehlerausgabe Substitution). Schauen Sie sich die Beziehungen auf allen Ihren Tabellen, um die Schuldigen zu finden verursachen diese und entfernen Sie die Beziehung, wenn es nicht gültig ist (Sie haben tatsächlich eine Tabelle namens ‚table_name‘?) Um dieses Problem zu beheben.
Wenn Sie haben eine Menge von Tabellen können Sie versuchen, die gesamte Datenbank in einen temporären Test DB replizieren und dann die Hälfte der Tabellen löschen und die erzeugen Befehl erneut aus. Wenn Sie nicht den Fehler wissen Sie, dass Batzen Tabellen ist nicht das Problem, so die vorhandenen Tabellen löschen und die andere Hälfte wiederherzustellen. Wenn der gleiche Fehler noch den Täter auftritt, ist jetzt innerhalb des aktuellen Brocken. Weite Hälften fallen, bis Sie mit links sind nur ein Tisch erroring und Sie werden Ihre Fehlerquelle gefunden haben.
Wenn Sie immer noch Probleme haben, die genaue Ursache des Problems lokalisieren können Sie Ihr Problem Tabellenstruktur in SQL bieten und auch, welche Version von Lehre der Sie arbeiten.