text Die Migration ist eine bequeme Möglichkeit, um kontinuierliche Änderungen an Ihrem Datenbankschema zu vereinfachen. Da die Migration Rubys DSL verwendet, müssen Sie kein unformatiertes SQL schreiben und unabhängig vom Datenbanktyp Änderungen am Schema vornehmen.
Ich sehe, wenn Sie eine Tabelle hinzufügen oder wenn Sie einer Tabelle ein Attribut hinzufügen Sie müssen SQL erstellen, richtig?
CREATE TABLE HOGE
Sie können unformatiertes SQL schreiben und Änderungen an der Datenbank vornehmen, müssen dies jedoch nicht tun. Dies hängt auch nicht vom Datenbanktyp ab. Ich habe es irgendwie benutzt, aber es ist erstaunlich.
Hier ist ein Beispiel für das Hinzufügen einer Tabelle mit dem Namen products.
Es enthält eine Zeichenfolgenspalte namens name und eine Textspalte namens description. Der Primärschlüssel wird implizit mit der Namens-ID hinzugefügt. id ist der Standardprimärschlüssel im Active Record-Modell.
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
Durch Ausführen dieser Migration wird eine Tabelle generiert. Sie können diese Tabelle auch löschen, indem Sie sie zurücksetzen.
rails generate migration AddPartNumberToProducts part_number:string
Wenn Sie den obigen Code ausführen, wird eine Migrationsdatei wie die folgende generiert. Der Inhalt besteht darin, Produkten eine Spalte hinzuzufügen.
ruby.rb
class AddPartNumberToProducts < ActiveRecord::Migration[5.0]
def change
add_column :products, :part_number, :string
end
end
Reflektieren Sie die vorherige Migrationsdatei in der Datenbank.
#Lauf
rails db:migrate
#zurückrollen
rails db:rollback
Sie können die Migration oder das Rollback wie oben beschrieben ausführen.
Ich habe die Migration grob zusammengefasst. Ich habe es irgendwie benutzt, aber Ich habe allmählich verstanden, wie es ist.
Das ist alles für heute ** 91 Tage, um ein vollwertiger Ingenieur zu werden **
Recommended Posts