Jak cofnąć tylko jeden krok za pomocą rake db:migrate
Po dodaniu plików migracji do folderu db/migrate
i uruchomieniu rake db:migrate
, chcę wrócić do poprzedniego kroku, myślę, że użycie VERSION=n
jest właściwym sposobem, ale nie znam prawidłowej wartości n do użycia. Czy jest jakieś polecenie, aby sprawdzić aktualną wartość n?
Byłoby wspaniale, gdyby ktoś mógł podać pełną instrukcję obsługi rake db:migrate
.
5 answers
Na początek
rake db:rollback
will get you back one step
Then
rake db:rollback STEP=n
Cofnie cię n
migracje gdzie n
jest liczbą ostatnich migracji, które chcesz cofnąć.
Więcej odniesień tutaj .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-22 15:58:19
Cofnij ostatnią migrację:
rake db:rollback
Cofnij ostatnie migracje:
rake db:rollback STEP=n
Pełne instrukcje dotyczące wykorzystania zadań migracji Rake ' a można znaleźć w Rails Guide do uruchamiania migracji.
Oto jeszcze:
-
rake db:migrate
- Uruchom wszystkie migracje, które nie zostały jeszcze uruchomione -
rake db:migrate VERSION=20080906120000
- Uruchom wszystkie niezbędne migracje (w górę lub w dół), aby dostać się do podanej wersji -
rake db:migrate RAILS_ENV=test
- Run migracje w danym środowisku -
rake db:migrate:redo
- Cofnij jedną migrację i uruchom ją ponownie -
rake db:migrate:redo STEP=n
- Cofnij Ostatnie migracjen
i uruchom je ponownie -
rake db:migrate:up VERSION=20080906120000
- Uruchom metodęup
dla danej migracji -
rake db:migrate:down VERSION=20080906120000
- Uruchom metodędown
dla danej migracji
I aby odpowiedzieć na twoje pytanie, skąd masz numer wersji migracji:
Wersja jest prefiksem liczbowym na migracji nazwa pliku. Na przykład, aby przejść do wersji 20080906120000 Uruchom
$ rake db:migrate VERSION=20080906120000
(z uruchamianie migracji w prowadnicach Rails)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-14 16:53:39
Najlepszym sposobem jest ponowne uruchomienie danej migracji poprzez użycie down lub up(w rails 4. To zmiana)
Rails db:migrate: up VERSION=timestamp
Teraz jak masz znacznik czasu. Przejdź do tej ścieżki
/db / migrate
Zidentyfikuj plik migracji, który chcesz przywrócić.wybierz znacznik czasu z nazwy pliku.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-10 05:16:09
Inni ludzie już ci odpowiedzieli, jak wycofać migrację, ale zapytałeś również, jak możesz zidentyfikować numer wersji migracji.
-
rake db:migrate:status
wyświetla listę wersji, nazwy i statusu migracji (w górę lub w dół) - Możesz również znaleźć plik migracji, który zawiera znacznik czasu w nazwie pliku, czyli numer wersji. Migracje znajdują się w folderze:
/db/migrate
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-20 08:29:04
Jeśli Wersja to 20150616132425
, Użyj:
rails db:migrate:down VERSION=20150616132425
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-25 04:56:16