[RUBY] Einführung in die Migration

Einführung in die Migration

Was ist Migration?

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.

Migrationsbeispiel

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.

Erstellen Sie eine Migration

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

In DB reflektiert

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

Einführung in die Migration
Einführung in Ruby 2
Einführung in web3j
Einführung in Micronaut 1 ~ Einführung ~
[Java] Einführung in Java
Einführung in Java
Einführung in Doma
Einführung in JAR-Dateien
Einführung in Ratpack (8) -Session
Einführung in die Bitarithmetik
Einführung in Ratpack (6) --Promise
Einführung in PlayFramework 2.7 ① Übersicht
Einführung in das Android-Layout
Einführung in die praktische Programmierung
Einführung in den Befehl javadoc
Einführung in den Befehl jar
Einführung in Ratpack (2) -Architektur
Einführung in den Lambda-Stil
Einführung in den Java-Befehl
Einführung in die Keycloak-Entwicklung
Einführung in den Befehl javac
Einführung in Entwurfsmuster (Builder)
Migration von Cobol nach JAVA
Einführung in die Android App-Entwicklung
Einführung in Metabase ~ Umgebungskonstruktion ~
Einführung in Ratpack (7) - Guice & Spring
(Punktinstallation) Einführung in Java8_Impression
Einführung in Entwurfsmuster (Composite)
Einführung in Micronaut 2 ~ Unit Test ~
Einführung in JUnit (Studiennotiz)
Einführung in Spring Boot ~ ~ DI ~
[Java] Einführung in den Lambda-Ausdruck
Einführung in Apache Beam (2) ~ ParDo ~
Einführung in die EHRbase 2-REST-API
Einführung in Entwurfsmuster Prototyp
[Java] Einführung in die Stream-API
Einführung in Entwurfsmuster (Iterator)
Einführung in Spring Boot Teil 1
Einführung in Ratpack (1) - Was ist Ratpack?
Zurücksetzen der Migrationsdatei
to_ ○
Einführung in Entwurfsmuster (Strategie)
[Einführung in Janken (ähnliche) Spiele] Java
Einführung in Linux Container / Docker (Teil 1)
Einführung in die schnelle Übungsausgabe Kapitel 5
Protokoll-Puffer-Migration von 2.x auf 3.x.
[Einführung in Java] Über Lambda-Ausdrücke
Einführung in Algorithmen mit Java-kumulativer Summe
[Einführung in Java] Informationen zur Stream-API
Einführung in die funktionale Programmierung (Java, Javascript)