Migration des rails Changements de colonne et ainsi de suite.

À propos de cet article

Article sur les rails pour débutants écrit par des débutants pour les débutants

J'oublierai bientôt la description de la migration.

① Vérifiez la version de migration actuelle

② Retourner la migration vers la version spécifiée

③ Annulez une migration exécutée immédiatement avant

④ Changer de colonne

⑤ Ajouter un index

① Vérifiez la version de migration actuelle

rails db:migrate:status

database: first_development

 Status   Migration ID    Migration Name
--------------------------------------------------
   up     20201115064445  Create members

(2) Retourner la migration vers la version spécifiée.

Exécutez la commande en spécifiant la liste des nombres (année, mois, jour, jour) dans le nom du fichier.

スクリーンショット 2020-11-15 15.58.33.png

rails db:migrate VERSION=20201115064445

③ Annulez une migration exécutée immédiatement avant

Vous pouvez l'utiliser lorsque vous réalisez que "Oh, il y a un gars que j'ai oublié d'écrire!"

rails db:migrate:rollback

④ Changer de colonne

python


#Commande pour créer un fichier de migration
rails g migration rename_Nom de colonne avant modification_column_to_nom de la table(Forme pluriel)

#Contenu du fichier de migration
classe Renommer le nom de la colonne avant de changer ColumnTo Nom de la table s< ActiveRecord::Migration[5.2]
  def change
    rename_column :Nom de la table (pluriel), :Nom de colonne avant modification, :Nom de colonne après modification
  end
end


④ Changer de colonne

python


#Commande pour créer un fichier de migration
rails g migration rename_Nom de colonne avant modification_column_to_nom de la table(Forme pluriel)

#Contenu du fichier de migration
classe Renommer le nom de la colonne avant de modifier le nom de la table ColumnTo< ActiveRecord::Migration[5.2]
  def change
    rename_column :Nom de la table (pluriel), :Nom de colonne avant modification, :Nom de colonne après modification
  end
end


⑤ Ajouter un index

python


#Commande pour créer un fichier de migration
rails generate migration add_index_nom de la table_Nom de colonne

#Contenu du fichier de migration
classe AddIndexTo nom de table< ActiveRecord::Migration
  def change
    add_index :nom de la table,Nom de colonne
  end
end

Au fait, expliquons l'index

Un bricoleur qui accélère la recherche lors de la récupération des données d'une colonne particulière. Par exemple, je souhaite rechercher un utilisateur par son nom! S'il n'y a pas d'index dans la colonne de nom de la table Users, vérifiez la colonne de nom de la table User un par un à partir du haut et essayez d'obtenir les données de l'utilisateur correspondant. Si cela confirme les données de dizaines de milliers de personnes à partir de zéro, cela prendra du temps même pour la programmation. Par conséquent, en plaçant un index dans la colonne de nom de la table Utilisateurs, les noms sont triés par ordre alphabétique pour faciliter la recherche.

Recommended Posts

Migration des rails Changements de colonne et ainsi de suite.
Annuler la migration de Ruby on Rails
Migration des rails
Rails et données de forme
Vent arrière sur les rails
Ruby on Rails ~ Principes de base de MVC et du routeur ~
[rails] Masquer la barre de navigation et les en-têtes uniquement sur la page TOP
[Ruby on Rails] Comment changer le nom de la colonne
[Ruby on Rails] Remplacez l'ID d'URL par le nom de la colonne
(Ruby on Rails6) Comment créer un modèle et une table
[Rails] À propos des fichiers de migration
Rails valides et invalides?
[Rails] Résumé de la commande de migration
Lancez EC2 Rails
Diverses opérations de migration de rails
Ruby on Rails élémentaire
Ouais, je suis sur des rails!
Association Ruby On Rails
[Ruby on Rails] Ajouter une colonne avec des contraintes de clé externe
[Ruby on Rails] Restrictions de colonne lors de l'enregistrement dans DB (4 représentants)
Comment exécuter React et Rails sur le même serveur
[Ruby on Rails] Défilement infini à l'aide de gem kaminari et jscroll