2013-08-25 21 views
6

Mam pewną blokadę na laravel 4.laravel 4 Migrate: wycofywania z --path na rzemieślniczej CLI

Ponieważ nie mogę zrobić artisan:migrate generować migracje z wewnętrznymi folderach app/database/migrations(ex: app/bazy danych/migracje/app1)

mam to na moim niestandardowego polecenia app:migrate

/* default path */ 
$this->call('migrate'); 

/* custom path */ 
$this->call('migrate', array('--path' => 'app/database/migrations/app1')); 

ale także chcą polecenia app:refresh które rollback wszystkie MiG racje od niestandardowej ścieżki, a następnie od domyślnej ścieżki. Następnie należy ponownie przeprowadzić migrację i zasiać wszystko tak, jak to, co ma zostać odwrócone? nazywając:

$this->call('migrate:rollback', array('--path' => 'app/database/migrations/app1')); 

będzie produkować błąd mówiąc

[InvalidArgumentException] 
The "--path" option does not exist. 

może ktoś pomóc proszę.

dziękuję!

+0

Dobrze, bankomat, istnieje naprawdę nie ma mowy. Tylko faktyczna nazwa pliku jest przechowywana w bazie danych, bez ścieżki i nie ma parametru ścieżki dla komendy rollback. Możesz oczywiście zaimplementować ten parametr, ale byłoby to złe, gdybyś przeprowadził migracje z wielu ścieżek. Najlepsi prawdopodobnie znajdą sposób na przechowywanie w bazie danych, z której pochodzi, rozwidlenie repo i zaproponowanie zmiany. – rmobis

+0

Nieważne, wymyśliłem to. – rmobis

Odpowiedz

5

Wszystko, co musisz zrobić, to upewnić się, że Twoje klasy migracji mogą być ładowane automatycznie. Najprostszym sposobem, aby to zrobić jest dodać ścieżkę do folderu jesteś utrzymując je do composer.json „s autoload.classmap:

... 
"autoload": { 
    "classmap": [ 
     ... 
     "app/database/migrations/app1", 
    ] 
}, 
+0

fajne. to działa! dzięki! – reikyoushin

-2

Należy ponownie uruchomić migrację z opcją "--path" ręcznie dla tego przypadku.

+0

Czy to spowoduje usunięcie starych tabel, ponowne włożenie ich i ponowne ich ponowne rozłożenie? – reikyoushin

+0

Sprawdziłem i tak, nie usuwają starych danych z bazy danych przed ponownym uruchomieniem .. – reikyoushin