text La migration est un moyen pratique de modifier en continu le schéma de votre base de données. Étant donné que la migration utilise le DSL de Ruby, vous n'avez pas besoin d'écrire du SQL brut et d'apporter des modifications au schéma indépendamment du type de base de données.
Je vois, lorsque vous ajoutez une table ou lorsque vous ajoutez un attribut à une table Vous devez créer SQL, non?
CREATE TABLE HOGE
Vous pouvez écrire du SQL brut et apporter des modifications à la base de données de cette manière, mais vous n'êtes pas obligé de le faire. Cela ne dépend pas non plus du type de base de données. Je l'ai utilisé d'une manière ou d'une autre, mais c'est incroyable.
Voici un exemple d'ajout d'une table appelée produits.
Il contient une colonne de chaîne appelée nom et une colonne de texte appelée description. La clé primaire est implicitement ajoutée avec le nom id. id est la clé primaire par défaut dans le modèle Active Record.
ruby.rb
class CreateProducts < ActiveRecord::Migration[5.0]
def change
create_table :products do |t|
t.string :name
t.text :description
t.timestamps
end
end
end
L'exécution de cette migration générera une table. Vous pouvez également supprimer cette table en la faisant reculer.
rails generate migration AddPartNumberToProducts part_number:string
L'exécution du code ci-dessus générera un fichier de migration comme celui ci-dessous. Le contenu consiste à ajouter une colonne aux produits.
ruby.rb
class AddPartNumberToProducts < ActiveRecord::Migration[5.0]
def change
add_column :products, :part_number, :string
end
end
Reflète le fichier de migration précédent dans la base de données.
#Courir
rails db:migrate
#retour en arriere
rails db:rollback
Vous pouvez exécuter la migration ou revenir en arrière comme décrit ci-dessus.
En gros, j'ai résumé la migration. J'avais l'habitude de l'utiliser d'une manière ou d'une autre, mais J'ai progressivement compris à quoi ça ressemble.
C'est tout pour aujourd'hui ** 91 jours pour devenir un ingénieur à part entière **
Recommended Posts