Snažím sa premenovať migračné súbory na zmenu poradia migrácie, ale našiel som chybu.
Viem, že názov migračného súboru sa generuje na základe časovej značky, napríklad:
m150311_012031_create_place_table.php
m150311_020901_create_meeting_table.php
Zabudla som na vytvorenie meeting
tabuľku najprv predtým, ako vytvorím place
stola, takže čo robím, bežím yii migrate/down all
ak chcete migráciu vrátiť späť, premenujem súbor tak, aby sa zmenil poradie:
m150311_012030_create_meeting_table.php
m150311_012031_create_place_table.php
a spustiť yii migrate up/all
ale mám túto chybu:
PHP Fatal error: Class "m150311_012030_create_meeting_table" not found in C:wampwwwyii2advancedvendoryiisoftyii2consolecontrollersMigrateController.php on line 113
Myslím composer dumpautoload
to napraví, ale nič sa nestane. Viem, že môžem len odstrániť a vytvoriť všetku migráciu od začiatku opäť, ale čo keď som už vytvoril 10 súborov migrácie a zabudol som, že by som mal vytvoriť migráciu 2. rádu.
Ako to urobiť?
odpovede:
5 pre odpoveď č. 1Nedoporučuje sa to robiť, iba ak ste ešte nepodporili svoje záväzky do pracovného úložiska.
Problém je v tom, že okrem zmeny mena súborov je potrebné meniť mená tried, pretože sú organizované migrácie.
Názvy tried migrácie sú úplne rovnaké ako mená súborov bez .php
rozšírenie.
1) m150311_012031_create_place_table.php
Zmeňte názov súboru na m150311_020901_create_meeting_table.php
a názov triedy na class m150311_020901_create_meeting_table
.
2) m150311_020901_create_meeting_table.php
Zmeňte názov súboru na m150311_012031_create_place_table.php
a názov triedy na class m150311_012031_create_place_table
.