[RUBY] Schienenmigration

Es war mein erstes Mal, dass ich die Rails-Migration berührte, daher werde ich sie kurz als Memorandum of Study aufschreiben.

Informationen zur Migration

Die Migration ist eine bequeme und einheitliche Möglichkeit, um kontinuierliche Änderungen an Ihrem Datenbankschema vorzunehmen.

Erstellen Sie eine Migrationsdatei

Bereiten Sie die Firmentabelle als Beispiel vor

Spaltenname Datentyp
id integer
name string
description text
created_at datetime
updated_at datetime
$ rails g migration CrateCompany

Active Record zeigt automatisch die Ausführungsreihenfolge der Migration mit dem Zeitstempel des Dateinamens an. Die erstellte Datei wird im Verzeichnis "db / migrate" gespeichert.

Erstellte Datei

class CrateCompany < ActiveRecord::Migration[5.2]
	def change
	end
 end

ActiveRecord :: Migration [] enthält die Version.

Sie können Auf und Ab anstelle von Änderungen verwenden. Schreiben Sie den Inhalt beim Migrieren in die Aufwärtsmethode und den Inhalt beim Zurücksetzen in die Abwärtsmethode.


class CrateCompany < ActiveRecord::Migration[5.2]
	def up
	end

	def down
	end
end

Nehmen Sie Änderungen vor

Erstellen Sie eine Migrationsdatei und geben Sie "Rails DB: Migrate" ein, um sie auszuführen. Um die letzte Änderung rückgängig zu machen, klicken Sie auf "Rails DB: Rollback"

Erstellen Sie eine Tabelle

class CrateCompany < ActiveRecord::Migration[5.2]
    def change 
     create_table :companies do |t|
    t.string :name
      t.text :description
      t.timestamps
    end
  end
end

Wenn Sie diesen Befehl eingeben, wird automatisch etwas wie das oben genannte erstellt

$ rails g migration CrateCompany name:string description:text

Tisch wechseln

class ChangeTableCompany < ActiveRecord::Migration[5.2]
    def change 
     change_table :companies do |t|
     t.remove :name
     t.string :root_number
     t.index :root_number
     t.rename :description, :description_note
  end
  end
end

Bei der obigen Migration wird die Namensspalte entfernt, eine Zeichenfolgenspalte, root_number, erstellt und ein Index hinzugefügt. Und schließlich wird die Beschreibungsspalte umbenannt.

Spalte ändern

change_column :companies, :root_number, :text

Die Spalte "root_number" des Modellnamens wurde in "text" geändert.

Beachten Sie, dass "change_column" nicht mit der "change" -Methode zurückgesetzt werden kann. Die "change" -Methode unterstützt dies nicht. Die von change unterstützten Migrationsdefinitionen sind

add_column add_foreign_key add_index add_reference add_timestamps change_column_default (Angabe von: from und: to kann nicht weggelassen werden) change_column_null create_join_table create_table disable_extension drop_join_table drop_table (muss einen Block übergeben) enable_extension remove_column (Typ muss angegeben werden) remove_foreign_key (muss zweite Tabelle angeben) remove_index remove_reference remove_timestamps rename_column rename_index rename_table

Wenn Sie ein Rollback durchführen möchten, können Sie "change_column" verwenden, wenn es sich um eine Aufwärts- oder Abwärtsmethode handelt.


class ChangeColumnCompany < ActiveRecord::Migration[5.2]
    def up
     change_column :companies, :root_number, :text
    end

    def down
     change_column :companies, :root_number, :string
    end
end

Ich weiß noch nicht viel über Migration, aber ich möchte es lernen.

Recommended Posts

Schienenmigration
[Rails] Informationen zu Migrationsdateien
[Rails] Zusammenfassung des Migrationsbefehls
Verschiedene Schienenmigrationsvorgänge
Migration in Schienen verstehen
[Rails] NOFILE-Migrationsdatei gelöscht
Brechen Sie die Ruby on Rails-Migration ab
[Rails] Löschen Sie die Migrationsdatei
[Schienen g. Fehler]
Rails Grundlagen
Rails Review 1
[Rails] first_or_initialize
Schienen Tutry
Über Schienen 6
Schienenfundament
Rails Memorandum
Schienen Tutorial
Schienen Tutry
Überprüfen Sie den Migrationsstatus von Schienen
Deshalb habe ich dieses Mal die Methode "Verknüpfen des Inhalts des Verzeichnisses" übernommen. Ich denke, es wird je nach Zeit und Fall richtig verwendet. Tutorial zu Linux, ln, Linux-Befehlsschienen
[Schienen] erfinden
Schienen Tutry
Schienen Tutorial
Schienen Tipps
Schienenmethode
Schienen Tutorial
Rails Review 2
Migrationsdatei zum Hinzufügen eines Kommentars zur Rails-Tabelle
Schienenmigration Spaltenänderungen usw.
Schienen CSV Basic
Rails6 jQuery eingeführt
Informationen zum Rails-Routing
Grundlagen des Rails-Routings
Zugabe von bind.pry (Schienen)
Grundlagen der Rails-Datenbank
Zugangsbeschränkungen für Schienen
Schienen und Formulardaten
Schienen-Tutorial Kapitel 6
Rails Tutorial Test
Schienen rendern redirect_to
[Rails] Lieblingsfunktion
ActiveAndroid => ReActiveAndroid-Migration
[Rails] Informationen zu Namenskonventionen
Grundlagen des Rails Logger
[Rails] Einführung in jquery
Rails Flash-Nachricht
Rückenwind auf Schienen
Schienen-Tutorial Kapitel 1
Schienen delegieren Methode
[Rails 6] cocoon_ Einführung
[Rails] Carrierwave einführen
Rails Tutorial Memorandum 1
[Schienen] Validierung einstellen
Rails Lerntag 3
[Rails] Lösung, wenn ein Migrationsfehler in Acts-as-Taggable-On auftritt