[RUBY] [Rails] Étapes pour résoudre les bogues qui se produisent lors de la suppression de mes tables SQL et fichiers de migration

[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. Image from Gyazo ↑ 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.

Recommended Posts

[Rails] Étapes pour résoudre les bogues qui se produisent lors de la suppression de mes tables SQL et fichiers de migration
Fichier de migration pour ajouter un commentaire à la table Rails
Rails "Comment supprimer les fichiers de migration NO FILE"