[Prémisse] Rails 6.0.3.1 ruby 2.6.3
Produit actuellement une application originale. À ce moment-là, je l'ai fait par erreur. J'ai résumé le contenu de l'erreur qui s'est produit lors de la tentative de suppression de la table appelée users_artists et du fichier de migration.
Terminal.
% rails db:rollback STEP=5
-Exécuter la restauration dans le terminal pour supprimer le fichier de migration.
Terminal.
% rails db:migrate:status
・ Pour confirmation, lorsque j'ai vérifié l'état avec la commande ci-dessus, j'ai trouvé un problème à un seul endroit.
Terminal.
Status Migration ID Migration Name
--------------------------------------------------
up 000 ********** NO FILE **********
down 20201014111144 Devise create users
down 20201014111251 Devise create artists
down 20201014121517 Create events
down 20201020102544 Create bookmarks
↑ Le statut est en place à un seul endroit, et le nom du fichier reste comme NO FILE pour une raison quelconque. ↑ Ce qui précède est le contenu du fichier de schéma qui est resté à ce moment-là -L'affichage de la version a disparu et est resté sans descendre. À l'origine, ce nom de fichier doit avoir un ID de migration Est "000" ici
[Procédure de résolution des erreurs] (1) Créez un fichier de migration sous db / migrate avec le nouveau nom "000_create_users_artists.rb" pour faire baisser le statut. : point_right: Afin de le rendre identique au nom des autres fichiers de migration, ** create ** est ajouté au début du nom et décrit comme suit.
000_create_users_artists.rb
class CreateUsersArtists < ActiveRecord::Migration[6.0]
def change
create_table :users_artists do |t|
t.integer :user_id
t.integer :artist_id
t.timestamps
end
end
end
② Exécutez à nouveau rails db: migrate: status ''. Comme indiqué ci-dessous, il a été confirmé que le nom de migration de la partie supérieure a été changé en
Créer des artistes utilisateurs '' sur le terminal.
Terminal.
Status Migration ID Migration Name
--------------------------------------------------
up 000 Create users artists
down 20201014111144 Devise create users
down 20201014111251 Devise create artists
down 20201014121517 Create events
down 20201020102544 Create bookmarks
③ Encore une fois, spécifiez le nom du fichier avec la commande suivante pour faire baisser l'état et exécuter.
Terminal.
% rails db:migrate:down VERSION=000_create_users_artists.rb
④ Encore une fois, vérifiez si l'état du fichier spécifié est en panne et supprimez le fichier inutile `` 000_create_users_artists.rb``` OK! !!
Terminal.
Status Migration ID Migration Name
--------------------------------------------------
down 000 Create users artists
down 20201014111144 Devise create users
down 20201014111251 Devise create artists
down 20201014121517 Create events
down 20201020102544 Create bookmarks
⑤ Enfin, exécutez
rails db: migrate``` pour recréer la table et terminer.