[RAILS] Schienenmigration Spaltenänderungen usw.

Über diesen Artikel

Beginner Rails Artikel von Anfängern für Anfänger geschrieben

Ich werde die Beschreibung der Migration bald vergessen.

① Überprüfen Sie die aktuelle Migrationsversion

② Setzen Sie die Migration auf die angegebene Version zurück

③ Brechen Sie eine Migration ab, die unmittelbar zuvor ausgeführt wurde

④ Spalte ändern

⑤ Index hinzufügen

① Überprüfen Sie die aktuelle Migrationsversion

rails db:migrate:status

database: first_development

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

(2) Setzen Sie die Migration auf die angegebene Version zurück.

Führen Sie den Befehl aus, indem Sie die Liste der Zahlen (Jahr, Monat, Tag, Tag) im Dateinamen angeben.

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

rails db:migrate VERSION=20201115064445

③ Brechen Sie eine Migration ab, die unmittelbar zuvor ausgeführt wurde

Sie können es verwenden, wenn Sie feststellen, dass "Oh, da ist ein Typ, den ich vergessen habe zu schreiben!"

rails db:migrate:rollback

④ Spalte ändern

python


#Befehl zum Erstellen einer Migrationsdatei
rails g migration rename_Spaltenname vor Änderung_column_to_Tabellenname(Plural)

#Inhalt der Migrationsdatei
Klasse Benennen Sie den Spaltennamen um, bevor Sie ihn ändern. ColumnTo Tabellenname s< ActiveRecord::Migration[5.2]
  def change
    rename_column :Tabellenname (Plural), :Spaltenname vor Änderung, :Spaltenname nach Änderung
  end
end


④ Spalte ändern

python


#Befehl zum Erstellen einer Migrationsdatei
rails g migration rename_Spaltenname vor Änderung_column_to_Tabellenname(Plural)

#Inhalt der Migrationsdatei
Klasse Benennen Sie den Spaltennamen um, bevor Sie den Namen der Spalte in die Tabelle ändern< ActiveRecord::Migration[5.2]
  def change
    rename_column :Tabellenname (Plural), :Spaltenname vor Änderung, :Spaltenname nach Änderung
  end
end


⑤ Index hinzufügen

python


#Befehl zum Erstellen einer Migrationsdatei
rails generate migration add_index_Tabellenname_Spaltenname

#Inhalt der Migrationsdatei
Klasse AddIndexTo Tabellenname< ActiveRecord::Migration
  def change
    add_index :Tabellenname,Spaltenname
  end
end

Lassen Sie uns übrigens den Index erklären

Ein Handwerker, der die Suche beim Abrufen von Daten aus einer bestimmten Spalte beschleunigt. Zum Beispiel möchte ich nach einem Benutzer mit Namen suchen! Wenn die Namensspalte der Benutzertabelle keinen Index enthält, überprüfen Sie die Namensspalte der Benutzertabelle nacheinander von oben und versuchen Sie, die Daten des entsprechenden Benutzers abzurufen. Wenn dies die Daten von Zehntausenden von Menschen von Grund auf bestätigt, wird es selbst für die Programmierung einige Zeit dauern. Wenn Sie einen Index in die Name-Spalte der Users-Tabelle einfügen, werden die Namen daher in alphabetischer Reihenfolge sortiert, um die Suche zu vereinfachen.

Recommended Posts

Schienenmigration Spaltenänderungen usw.
Brechen Sie die Ruby on Rails-Migration ab
Schienenmigration
Schienen und Formulardaten
Rückenwind auf Schienen
Ruby on Rails ~ Grundlagen von MVC und Router ~
[Schienen] Navigationsleiste und Überschriften nur auf der TOP-Seite ausblenden
[Ruby on Rails] So ändern Sie den Spaltennamen
[Ruby on Rails] Ändern Sie die URL-ID in den Spaltennamen
(Ruby on Rails6) So erstellen Sie ein Modell und eine Tabelle
[Rails] Informationen zu Migrationsdateien
Schienen gültig und ungültig?
[Rails] Zusammenfassung des Migrationsbefehls
Starten Sie EC2 Rails
Verschiedene Schienenmigrationsvorgänge
Ruby on Rails Elementary
Ja, ich bin auf Schienen!
Ruby On Rails Association
[Ruby on Rails] Fügen Sie eine Spalte mit externen Schlüsselbeschränkungen hinzu
[Ruby on Rails] Spaltenbeschränkungen beim Speichern in der Datenbank (4 Vertreter)
So führen Sie React und Rails auf demselben Server aus
[Ruby on Rails] Unendliches Scrollen mit Gem Kaminari und Jscroll