2017-05-09 1 views

Antwort

1

rake db:migrate alle Migrationen unter db laufen/wandern Ordner

rake db:migrate:up VERSION=20170130122612 verwendet wird, um auf spezifische Migration bedeutet, dass es diese Migration ausführt

rake db:migrate:down VERSION=20170130122612 wird verwendet, um spezifische Migrations bedeutet es, dass die Migration Reverse

rake db:rollback verwendet wird, um die letzte Migration

+0

Also, wenn Sie 'Rake db: migrate: down verwenden VERSION = 20170130122612 'wird es auch alle Migrationen, die nach dieser Version kamen" down "? – mangocaptain

+0

@mangocaptain nein es wird nur eine bestimmte Version – puneet18

+0

@mangocaptain akzeptieren und meine Antwort wählen, wenn es für Sie funktioniert. Danke – puneet18

0

Verwenden Sie nur rake db:migrate:up, wenn Sie nur Migrationen mit einer up-Methode haben?

Nein, Sie verwenden

rake db:migrate:up VERSION=123456789 

wenn Sie ausführen möchten (UP) nur eine bestimmte Migration.

Rails verwenden automatisch change Methode für up aber im Fall von down wird es versuchen, die Migrationen zu umkehren, wenn möglich

Zum Beispiel.

add_column :table_name, :column_name, :integer 

wird

remove_column :table_name, :column_name 

Wenn die Umkehrung nicht möglich Schienen IrreversibleMigrationError erhöhen wird

+0

kann nicht einfach tun 'rake db Rollback: Migration: VERSION = 123456789' ohne die' up' ? – mangocaptain

+0

@mangocaptain Wenn Sie das tun, werden alle Migrationen von 'VERSION' bis zum letzten ausgeführt. –

Verwandte Themen