[RUBY] [Rails] Zusammenfassung des Migrationsbefehls

Entwicklungsumgebung

・ Ruby: 2.5.7 Schienen: 5.2.4 ・ Vagrant: 2.2.7 -VirtualBox: 6.1 ・ Betriebssystem: macOS Catalina

So schreiben Sie einen Migrationsbefehl

$ Rails g Migration ChangeColumnToBooks Entspricht dem Schreiben von $ Rails Generation Migration change_column_to_books.

Mit anderen Worten, "Generation" kann als "g" abgekürzt werden. Sie können sich das Schreiben von "_" ersparen, indem Sie den Wortanfang wie "AddBodyToBooks" groß schreiben.

Grundbefehl

1. Modell und Tabelle erstellen

$ Rails g Modell Modellname Spaltenname: Typname

Terminal


$ rails g model Book title:string

migrate/~_create_books.rb


class CreateBooks < ActiveRecord::Migration[5.2]
  def change
    create_table :books do |t|
      t.string :title

      t.timestamps
    end
  end
end

2. Modell und Tabelle löschen

Schienen d Modell Modellname

Terminal


$ rails d model Book

3. Führen Sie die Migration aus

Terminal


$ rails db:migrate

4. Geben Sie den Inhalt der Migration zurück

** ① Wenn Sie einen Schritt zurückgehen **

Terminal


$ rails db:rollback

** ① Bei Rückkehr zu mehreren Schritten **

Terminal


$ rails db:rollback STEP=5 #Nummern können frei geändert werden

4. Überprüfen Sie den Migrationsstatus

Terminal


rails db:migrate:status

Tabellenbeziehung

1. Löschen Sie nur die Tabelle

$ Rails g Migration Tabellennamen löschen

Terminal


$ rails g migration DropBooks

migrate/~_drop_books.rb


class DropBooks < ActiveRecord::Migration[5.2]
  def change
    drop_table :books #Nachtrag
  end
end

2. Ändern Sie den Tabellennamen

$ Rails g Migration Benennen Sie den Tabellennamen vor der Änderung in den Tabellennamen nach der Änderung um

Terminal


$ rails g migration RenameBooksToArticles

migrate/~_rename_books_to_articles.rb


class RenameBooksToArticles < ActiveRecord::Migration[5.2]
  def change
    rename_table :books, :articles #Nachtrag
  end
end

Spaltenbeziehung

1. Spalte hinzufügen

** ① Einzeleinheit **

$ Rails g Migration Spaltennamen zum Tabellennamen hinzufügen Spaltenname: Typname

Terminal


$ rails g migration AddBodyToBooks body:text

migrate/~_add_body_to_books.rb


class AddBodyToBooks < ActiveRecord::Migration[5.2]
  def change
    add_column :books, :body, :text
  end
end

** ② Mehrfach **

$ Rails g Migration AddColumnsTo Tabellenname Spaltenname: Typname Spaltenname: Typname Spaltenname: Typname

Terminal


$ rails g migration AddColumnsToBooks body:text introduction:text price:integer

migrate/~_add_columns_to_books.rb


class AddColumnsToBooks < ActiveRecord::Migration[5.2]
  def change
    add_column :books, :body, :text
    add_column :books, :introduction, :text
    add_column :books, :price, :integer
  end
end

2. Spalte löschen

** ① Einzeleinheit **

$ Rails g Migration Spaltenname aus Tabellenname entfernen Spaltenname: Typname

Terminal


$ rails g migration RemoveTitleFromBooks title:string

migrate/~_remove_title_from_books.rb


class RemoveTitleFromBooks < ActiveRecord::Migration[5.2]
  def change
    remove_column :books, :title, :string
  end
end

** ② Mehrfach **

$ Rails g Migration RemoveColumnsFrom Tabellenname Spaltenname: Typname Spaltenname: Typname Spaltenname: Typname

Terminal


$ rails g migration RemoveColumnsFromBooks body:text introduction:text price:integer

migrate/~_remove_columns_from_books.rb


class RemoveColumnsFromBooks < ActiveRecord::Migration[5.2]
  def change
    remove_column :books, :body, :text
    remove_column :books, :introduction, :text
    remove_column :books, :price, :integer
  end
end

3. Ändern Sie den Spaltendatentyp

$ Rails g Migration ChangeData Spaltenname To Tabellenname Spaltenname: Typname

Terminal


$ rails g migration ChangeDataTitleToBooks

migrate/~_change_data_title_to_books.rb


class ChangeDataTitleToBooks < ActiveRecord::Migration[5.2]
  def change
    change_column :books, :title, :text #Nachtrag
  end
end

4. Spaltenoptionen hinzugefügt

$ Rails g Migration ChangeOption Spaltenname To Tabellenname Spaltenname: Typname

Terminal


$ rails g migration ChangeOptionTitleToBooks

migrate/~_change_option_title_to_books.rb


class ChangeOptionTitleToBook < ActiveRecord::Migration[5.2]
  def change
    change_column :books, :title, :string, null: false #Nachtrag
  end
end

5. Datentypliste

Modellname Rolle
string Kurze Schnur
text Lange Schnur
integer ganze Zahl
float Schwimmende Minderheit
decimal Sehr genaue Minderheit
datetime Datum (und Uhrzeit
timestamp Zeitstempel
time Zeit
date Datum
binary Binäre Zeichenfolge
boolean Boolescher Wert

6. Häufig verwendete Optionen

Optionsname Rolle
default Anfangswert einstellen
null Die Wahrheit des Rohlings
limit Länge begrenzen
unique Geben Sie eindeutige Einschränkungen an
unique Index angeben

Recommended Posts

[Rails] Zusammenfassung des Migrationsbefehls
[Rails] Rails DB-Befehlsübersicht
Schienenmigration
Docker-Befehlsübersicht
Rails 6.0-Routing-Zusammenfassung
Schienen db: 〇〇 Zusammenfassung
[Rails] Informationen zu Migrationsdateien
[Rails] Zusammenfassung der geroutenbezogenen Entwicklung
Verschiedene Schienenmigrationsvorgänge
Migration in Schienen verstehen
Docker Befehl persönliche Zusammenfassung
Schienen neuer Befehl zum Starten der Anwendung
Docker-Compose-Befehlsliste (für Rails)
[Rails] NOFILE-Migrationsdatei gelöscht
Brechen Sie die Ruby on Rails-Migration ab
Zusammenfassung der Ruby on Rails-Validierung
[Rails] Löschen Sie die Migrationsdatei
Datenbank-Ding-Befehle für die Migrationsdatei-Umgebung
Ruby on Rails-Variablen, konstante Zusammenfassung
[Rails] Zusammenfassung der komplizierten Routing-Konfiguration
Überprüfen Sie den Migrationsstatus von Schienen
Zusammenfassung
[Rails] Zusammenfassung der AWS-Bereitstellungsfehler
Zusammenfassung der grundlegenden Migrationswissensschienen db: Rollback und Hinzufügen / Löschen von Spalten
Rails Tutorial 6. Ausgabe Lernzusammenfassung Kapitel 10
Rails Tutorial 6. Ausgabe Lernzusammenfassung Kapitel 7
Migrationsdatei zum Hinzufügen eines Kommentars zur Rails-Tabelle
Rails Tutorial 6. Ausgabe Lernzusammenfassung Kapitel 4
Rails Tutorial 6. Ausgabe Lernzusammenfassung Kapitel 9
Rails Tutorial 6. Ausgabe Lernzusammenfassung Kapitel 6
Modell [Ruby on Rails], Befehl für Controller-Terminal
Befehl zum Erstellen / Löschen von Ruby on Rails-Modellen
Rails Tutorial 6. Ausgabe Lernzusammenfassung Kapitel 5
Rails Tutorial 6. Ausgabe Lernzusammenfassung Kapitel 2
Befehl zum Erstellen / Löschen des Ruby on Rails-Controllers
Ruby on Rails-Anwendung neuer Erstellungsbefehl
Schienenmigration Spaltenänderungen usw.
Rails Tutorial 6. Ausgabe Lernzusammenfassung Kapitel 3
[Rails] Zusammenfassung der Methoden zur Konvertierung / Überprüfung / Suche
Rails Tutorial 6. Ausgabe Lernzusammenfassung Kapitel 8