Je voulais modifier la base de données tout en apprenant le développement d'équipe dans une école de programmation. Je n'ai pas appris les détails, alors je vais le résumer pour mémoire.
J'espère que cela sera utile pour ceux qui ne sont pas familiarisés avec les opérations de bases de données et ceux qui en apprennent davantage sur les bases de données à l'avenir.
DB: MySQL Rails: 5.2.4.3
Terminal
% rails db:migrate:status
Ensuite, je pense que les tables sortiront comme ça (le nombre et les noms des tables qui sortiront seront différents)
Terminal
Status   Migration ID    Migration Name
--------------------------------------------------
   up     20200823051138  Devise create ----s
   up     20200824122031  Create -------s
   up     20200824122659  Add ancestry to ------s
   up     20200824123715  Create -----s
   up     20200829083145  Create -----s
   up     20200906141656  Create -----s Je souhaite modifier ce tableau cette fois
   up     20200907114227  Create -----s
  down    20200927061950  Create -----s
  down    20200927065357  Create -----s
※----Est le nom de la table que vous avez créé
Faites attention ici.
Pour corriger la migration, l'état doit être down.
Pour le faire tomber, exécutez une commande comme celle-ci dans votre terminal
Terminal
% rails db:rollback
Vérifions à nouveau le statut
Terminal
% rails db:migrate:status
Terminal
Status   Migration ID    Migration Name
--------------------------------------------------
   up     20200823051138  Devise create ----s
   up     20200824122031  Create -------s
   up     20200824122659  Add ancestry to ------s
   up     20200824123715  Create -----s
   up     20200829083145  Create -----s
   up     20200906141656  Create -----s Je souhaite modifier ce tableau cette fois
  down    20200907114227  Create -----s
  down    20200927061950  Create -----s
  down    20200927065357  Create -----s
※----Est le nom de la table que vous avez créé
cette?
Un seul bas est devenu bas.
En effet, la commande de restauration ne peut être désactivée qu’une par une.
Alors essayons à nouveau.
Terminal
% rails db:rollback
Vérifions à nouveau le statut
Terminal
% rails db:migrate:status
Terminal
Status   Migration ID    Migration Name
--------------------------------------------------
   up     20200823051138  Devise create ----s
   up     20200824122031  Create -------s
   up     20200824122659  Add ancestry to ------s
   up     20200824123715  Create -----s
   up     20200829083145  Create -----s
  down    20200906141656  Create -----s Je souhaite modifier ce tableau cette fois
  down    20200907114227  Create -----s
  down    20200927061950  Create -----s
  down    20200927065357  Create -----s
※----Est le nom de la table que vous avez créé
Cette fois, j'ai pu abattre la table cible en toute sécurité.
Cette fois, je voulais corriger le nom de la colonne, j'ai donc changé le nom de la colonne dans le fichier de migration après cela.
finalement
Terminal
% rails db:migrate
Vérifions à nouveau le statut
Terminal
% rails db:migrate:status
Terminal
Status   Migration ID    Migration Name
--------------------------------------------------
   up     20200823051138  Devise create ----s
   up     20200824122031  Create -------s
   up     20200824122659  Add ancestry to ------s
   up     20200824123715  Create -----s
   up     20200829083145  Create -----s
   up     20200906141656  Create -----s Table modifiée
   up     20200907114227  Create -----s
   up     20200927061950  Create -----s
   up    20200927065357  Create -----s
※----Est le nom de la table que vous avez créé
Pour la commande rails db: migrate, remplacez toutes les tables down par up.
db: migrer est tout à la fois Vous ne pouvez descendre que db: rollback un par un.
Je vais également présenter une méthode qui peut être effectuée collectivement lorsque vous devez revenir plusieurs fois en arrière comme cette fois
Terminal
% rails db:rollback STEP=2
Une fois que vous vous êtes habitué à la commande rollback, utilisez l'option STEP de manière positive pour améliorer votre maniabilité.
Recommended Posts