[RUBY] [Schienen] So erstellen Sie eine Tabelle, fügen eine Spalte hinzu und ändern den Spaltentyp

Einführung

Als ich ein Portfolio erstellte und später eine Spalte hinzufügen wollte oder als ich den Typ der zu Beginn festgelegten Spalte ändern wollte, wusste ich nicht, was ich tun sollte. Selbst wenn Sie ein Anfänger sind, selbst wenn Sie ein Anfänger sind Ich habe es zum leichteren Verständnis zusammengefasst. (Zuerst dachte ich, ich sollte die vorhandene Migrationsdatei direkt hinzufügen oder ändern, aber das ist nicht korrekt. Deshalb werde ich eine weitere Migrationsdatei erstellen und beschreiben, wie man sie hinzufügt oder ändert. )

Modelle und Tabellen erstellen

Wenn Sie ein Modell mit dem folgenden Befehl erstellen, wird automatisch zusammen mit dem Modell eine Migrationsdatei zum Erstellen der Tabelle erstellt, für die dieses Modell verantwortlich ist.

$ rails g model [Modellname] [Spaltenname]:[Spaltentyp]

Wenn Sie beispielsweise ein Benutzermodell erstellen möchten, geben Sie Benutzer für [Modellname] und Name: Zeichenfolge E-Mail: Zeichenfolge für [Spaltenname: Spaltentyp] an. Der Befehl sieht folgendermaßen aus:

$ rails g model User name:string email:string

Wenn Sie den Befehl ausführen, wird die folgende Migrationsdatei erstellt.

db/migrate/XXXXXXXXXXXXXX_create_users.rb


class CreateUsers < ActiveRecord::Migration[6.0]
  def change
    create_table :users do |t|
      t.string :name
      t.string :email
      
      t.timestamps
    end
  end
end

Stellen Sie sicher, dass die obige Datei generiert wurde, und führen Sie die Migration mit dem folgenden Befehl aus.

$ rails db:migrate

Die Benutzertabelle wird jetzt erstellt.

Spalte hinzufügen

Wenn Sie einer bereits erstellten Tabelle eine Spalte hinzufügen möchten, erstellen Sie eine neue Migration und fügen Sie sie hinzu, anstatt direkt in die vorhandene Migrationsdatei zu schreiben.

Verwenden Sie den folgenden Befehl, um eine Migrationsdatei zum Hinzufügen einer Spalte zu erstellen.

$ rails g migration Add[Spaltenname]To[Tabellenname] [Spaltenname]:[Spaltentyp]

Wenn Sie beispielsweise einer vorhandenen Benutzertabelle eine Einführungsspalte (Texttyp) hinzufügen möchten, verwenden Sie Folgendes.

$ rails g migration AddIntroductionToUsers introduction:text

Wenn Sie den Befehl ausführen, wird die folgende Migrationsdatei erstellt.

db/migrate/XXXXXXXXXXXXXX_add_introduction_to_users.rb


class AddIntroductionToUsers < ActiveRecord::Migration[6.0]
  def change
    add_column :users, :introduction, :text
  end
end

Stellen Sie sicher, dass die obige Datei generiert wurde, und führen Sie die Migration mit dem folgenden Befehl aus.

$ rails db:migrate

Die Einführungsspalte (Texttyp) wird jetzt zur Benutzertabelle hinzugefügt.

Spaltentyp ändern

Wenn Sie den Spaltentyp einer vorhandenen Tabelle ändern möchten, können Sie ihn auf dieselbe Weise wie beim Hinzufügen einer Spalte ändern.

Verwenden Sie den folgenden Befehl, um eine Migrationsdatei zum Ändern des Spaltentyps zu erstellen.

$ rails g migration change_data_[Spaltenname]_to_[Tabellenname]

Wenn Sie beispielsweise den Typ der Materialspalte der vorhandenen Produktionstabelle ändern möchten, verwenden Sie Folgendes.

$ rails g migration change_data_material_to_productions

Wenn Sie den Befehl ausführen, wird eine Migrationsdatei erstellt. Fügen Sie daher den Typ der Spalte hinzu, die Sie ändern möchten. Wenn Sie beispielsweise den Typ der Materialspalte der Produktionstabelle in den Ganzzahltyp ändern möchten, fügen Sie Folgendes hinzu.

db/migrate/XXXXXXXXXXXXXX_change_data_material_to_productions.rb


class ChangeDataMaterialToProductions < ActiveRecord::Migration[6.0]
<!-- *****Fügen Sie Folgendes hinzu***** -->
  def change
    change_column :productions, :material, :integer
  end
<!-- *****Fügen Sie mehr hinzu***** -->
end

Führen Sie nach Abschluss des Hinzufügens die Migration mit dem folgenden Befehl aus.

$ rails db:migrate

Der Typ der Materialspalte in der Produktionstabelle wird jetzt in einen ganzzahligen Typ geändert.

Schließlich

Dieser Artikel ist der erste, der in Qiita zusammenfasst, was Anfänger beim Erstellen eines Portfolios gelernt haben.

Wenn der Inhalt fehlerhaft ist, wäre ich Ihnen dankbar, wenn Sie einen Kommentar abgeben könnten.

Recommended Posts

[Schienen] So erstellen Sie eine Tabelle, fügen eine Spalte hinzu und ändern den Spaltentyp
[Rails] So ändern Sie den Spaltennamen der Tabelle
[Ruby on Rails] So ändern Sie den Spaltennamen
[Rails] Verarbeitung nach Hinzufügen einer Spalte zur Entwicklertabelle
[Rails] So erstellen Sie eine Teilvorlage
[Rails] Wie man Kaminari mit Slim einführt und das Design ändert
[Rails] Ich habe etwas über Migrationsdateien gelernt! (Hinzufügen einer Spalte zur Tabelle)
[Rails] So erstellen Sie ein Diagramm mit lazy_high_charts
So erstellen Sie einfach ein Pulldown mit Rails
[Rails] So erstellen Sie eine Twitter-Freigabeschaltfläche
Wenn Sie mit dem Befehl "Rails Generate Migration" eine Spalte vom Typ "String" mit begrenzter Länge hinzufügen möchten
(Ruby on Rails6) So erstellen Sie ein Modell und eine Tabelle
[Schienen] Spalte zum Entwickeln hinzufügen
Erstellen Sie eine Tabelle und fügen Sie Spalten hinzu
So erstellen Sie eine Methode
So ändern Sie dynamisch den von MyBatis erfassten Spaltennamen
So schreiben Sie eine Migration vom Rails-Datums- / Uhrzeittyp zum Datumstyp
So erstellen Sie ein Formular zur Auswahl eines Datums aus dem Kalender
So erstellen Sie ein Platzhalterteil zur Verwendung in der IN-Klausel
Ich möchte ein Formular erstellen, um die Kategorie [Schienen] auszuwählen
So fügen Sie dieselben Indizes in ein verschachteltes Array ein
Fügen Sie dem Swift-Button (und auch dem Kreis) einen Schatten hinzu.
So führen Sie React und Rails auf demselben Server aus
So erstellen und starten Sie eine Docker-Datei für Payara Micro
Vorbereiten der Erstellung einer Rails-Anwendung
[Schienen] So fügen Sie neue Seiten hinzu
[Rails 6.0, Docker] Ich habe versucht, die Konstruktion der Docker-Umgebung und die zum Erstellen eines Portfolios erforderlichen Befehle zusammenzufassen
So fügen Sie die Löschfunktion hinzu
Klicken Sie auf die Schaltfläche [Schienen], um ein zufälliges alphanumerisches Kennwort zu erstellen und in das Kennwortfeld einzugeben
So erstellen Sie eine JAR-Datei und eine War-Datei mit dem Befehl jar
[Rails] So erhalten Sie die URL der Übergangsquelle und leiten sie um
[Rails 6] So erstellen Sie mit cocoon einen dynamischen Formular-Eingabebildschirm
[Schienen] So ändern Sie den Seitentitel des Browsers für jede Seite
[chown] So ändern Sie den Eigentümer einer Datei oder eines Verzeichnisses
[Java] So konvertieren Sie vom Typ String in den Pfadtyp und erhalten den Pfad
(Ruby on Rails6) Erstellen Sie eine Funktion zum Bearbeiten des veröffentlichten Inhalts
[Rails 5] Anzeigen des Bildschirms zum Ändern des Kennworts bei Verwendung von devise
Migrationsdatei zum Hinzufügen eines Kommentars zur Rails-Tabelle
So ändern Sie den App-Namen in Rails
[Schienen] Verwendung der Kartenmethode
So fügen Sie einen neuen Hash / Array hinzu
So erstellen Sie ein Maven-Repository für 2020
[Rails] [Hinweis] Wann = zu <%%> hinzugefügt werden soll und wann nicht
Wie man die Zehner und Einsen findet
[Swift5] So erstellen Sie einen Begrüßungsbildschirm
So erstellen Sie eine Abfrage mithilfe von Variablen in GraphQL [Verwenden von Ruby on Rails]
So ändern Sie die maximale und maximale Anzahl von POST-Daten in Spark
[Rails 6] cocoon_ Fügen Sie dem hinzuzufügenden Formular ID- und Datenattribute hinzu
Server mit Spring Gradle ausführbar So erstellen Sie JAR und WAR