Ich habe einen Fehler in der Migrationsdatei gemacht, sie schnell manuell gelöscht und dann rails db: migrate hat zu einem Fehler geführt. Zu diesem Zeitpunkt kam KEINE DATEI heraus.
① Überprüfen Sie die Migrationsdatei Überprüfen Sie den aktuellen Status und die ID der Migrationsdatei mit $ Rails DB: Migration: Status.
$ rails db:migration:status
Status Migration ID Migration Name
--------------------------------------------------
up 20200518132414 Devise create users
up 20200521083405 Add name to users
up 20200525013751 Create posts
up 20200527010431 Add picture to posts
up 20200528232616 ********** NO FILE **********
up 20200531083300 Create comments
Bestätigen Sie, dass die ID NO FILE 20200528232616 lautet
② Erstellen Sie eine Dummy-Datei Der Hoge-Teil ist in Ordnung, da die Datei später gelöscht wird.
touch db/migrate/20200528232616_hoge.rb
20200528232616_hoge.rb
class Hoge < ActiveRecord::Migrattion[5.3] #5.Passen Sie Teil 3 an die Version der Schienen an
def change
end
end
③ Löschen Sie die Migrationsdatei
Überprüfen Sie die aktuelle Situation
$ rails db:migrate:status
Status Migration ID Migration Name
--------------------------------------------------
up 20200518132414 Devise create users
up 20200521083405 Add name to users
up 20200525013751 Create posts
up 20200527010431 Add picture to posts
up 20200528232616 Hoge
up 20200531083300 Create comments
Derzeit ist der Migrationsname ordnungsgemäß wie folgt angehängt. Ändern Sie von hier aus die Migrationsdatei von oben nach unten.
$ rails db:migration:down VERSION=2020052823261
$ rails db:migrate:status
Status Migration ID Migration Name
--------------------------------------------------
up 20200518132414 Devise create users
up 20200521083405 Add name to users
up 20200525013751 Create posts
up 20200527010431 Add picture to posts
down 20200528232616 Hoge
up 20200531083300 Create comments
Nachdem Sie bestätigt haben, dass es sich im Status "Down" befindet, löschen Sie es.
$ rm db/migrate/db/migrate/20200528232616_hoge.rb
Wenn ich es noch einmal überprüfe,
$ rails db:migrate:status
Status Migration ID Migration Name
--------------------------------------------------
up 20200518132414 Devise create users
up 20200521083405 Add name to users
up 20200525013751 Create posts
up 20200527010431 Add picture to posts
up 20200531083300 Create comments
Es sollte richtig verschwunden sein! !!
Selbst wenn Sie einen Fehler in der Migrationsdatei machen, ist es zunächst wichtig, diese im Up-Zustand nicht so schnell zu löschen.
Recommended Posts