[RUBY] Wenn Sie Datenbankspalten usw. ändern möchten.

Wenn Sie die Datenbank db: migrated ändern möchten

Ich wollte die Datenbank ändern, während ich an einer Programmierschule die Teamentwicklung lernte. Ich habe die Details nicht gelernt, daher werde ich sie für ein Memorandum zusammenfassen.

Ich hoffe, es ist hilfreich für diejenigen, die mit Datenbankoperationen nicht vertraut sind und in Zukunft etwas über Datenbanken lernen.

Entwicklungsumgebung

DB: MySQL Rails: 5.2.4.3

Überprüfen Sie zunächst die Datenbank (Tabelle), die Sie ändern möchten.

Terminal


% rails db:migrate:status

Dann denke ich, dass die Tabellen so herauskommen werden (die Anzahl und Namen der herauskommenden Tabellen werden unterschiedlich sein)

Terminal


Status   Migration ID    Migration Name
--------------------------------------------------
   up     20200823051138  Devise create ----s
   up     20200824122031  Create -------s
   up     20200824122659  Add ancestry to ------s
   up     20200824123715  Create -----s
   up     20200829083145  Create -----s
   up     20200906141656  Create -----s Ich möchte diese Tabelle dieses Mal ändern
   up     20200907114227  Create -----s
  down    20200927061950  Create -----s
  down    20200927065357  Create -----s
※----Ist der von Ihnen erstellte Tabellenname

Achten Sie hier auf und ab.

Um die Migration zu beheben, muss der Status inaktiv sein.

Lassen Sie uns als Nächstes die Datenbank (Tabelle) herunterfahren, die Sie ändern möchten

Führen Sie einen solchen Befehl in Ihrem Terminal aus, um ihn herunterzufahren

Terminal


% rails db:rollback

Lassen Sie uns den Status noch einmal überprüfen

Terminal


% rails db:migrate:status

Terminal


Status   Migration ID    Migration Name
--------------------------------------------------
   up     20200823051138  Devise create ----s
   up     20200824122031  Create -------s
   up     20200824122659  Add ancestry to ------s
   up     20200824123715  Create -----s
   up     20200829083145  Create -----s
   up     20200906141656  Create -----s Ich möchte diese Tabelle dieses Mal ändern
  down    20200907114227  Create -----s
  down    20200927061950  Create -----s
  down    20200927065357  Create -----s
※----Ist der von Ihnen erstellte Tabellenname

Das?

Nur eine Daune hat sich in Daune geändert.

Weil der Rollback-Befehl nur einzeln abgelehnt werden kann.

Also versuchen wir es noch einmal.

Terminal


% rails db:rollback

Lassen Sie uns den Status noch einmal überprüfen

Terminal


% rails db:migrate:status

Terminal


Status   Migration ID    Migration Name
--------------------------------------------------
   up     20200823051138  Devise create ----s
   up     20200824122031  Create -------s
   up     20200824122659  Add ancestry to ------s
   up     20200824123715  Create -----s
   up     20200829083145  Create -----s
  down    20200906141656  Create -----s Ich möchte diese Tabelle dieses Mal ändern
  down    20200907114227  Create -----s
  down    20200927061950  Create -----s
  down    20200927065357  Create -----s
※----Ist der von Ihnen erstellte Tabellenname

Dieses Mal konnte ich den Zieltisch sicher herunterbringen.

Nachdem die Korrektur abgeschlossen ist

Dieses Mal wollte ich den Spaltennamen korrigieren, also habe ich den Spaltennamen in der Migrationsdatei danach geändert.

Schließlich

Terminal


% rails db:migrate

Lassen Sie uns den Status noch einmal überprüfen

Terminal


% rails db:migrate:status

Terminal


Status   Migration ID    Migration Name
--------------------------------------------------
   up     20200823051138  Devise create ----s
   up     20200824122031  Create -------s
   up     20200824122659  Add ancestry to ------s
   up     20200824123715  Create -----s
   up     20200829083145  Create -----s
   up     20200906141656  Create -----s Geänderte Tabelle
   up     20200907114227  Create -----s
   up     20200927061950  Create -----s
   up    20200927065357  Create -----s
※----Ist der von Ihnen erstellte Tabellenname

Ändern Sie für den Befehl Rails db: migrate alle Down-Tabellen in Up.

db: migrieren ist alles auf einmal Sie können db: rollback nur einzeln herunterfahren.

Wenn Sie alle auf einmal zurücksetzen möchten

Ich werde auch eine Methode vorstellen, die gemeinsam durchgeführt werden kann, wenn Sie wie dieses Mal mehrmals zurücksetzen müssen

Terminal


% rails db:rollback STEP=2

Wenn Sie sich an den Rollback-Befehl gewöhnt haben, verwenden Sie die STEP-Option positiv, um Ihre Bearbeitbarkeit zu verbessern.

Recommended Posts

Wenn Sie Datenbankspalten usw. ändern möchten.
Wenn Sie die Spring Boot + Thymeleaf-Verarbeitung trennen möchten
Wenn Sie Mockito mit Kotlin verwenden möchten, verwenden Sie Mockito-Kotlin
Wenn Sie Programmieren an der Universität studieren möchten, gehen Sie nach Australien
[# 3 Java] Lesen Sie dies, wenn Sie Java lernen möchten! ~ Sorgfältig ausgewählt ~
Wenn Sie die übergeordnete Klasse in Lomboks @builder aufnehmen möchten
Wenn Sie die Java-Entwicklungsumgebung von Eclipse aus ändern möchten
Wenn Sie devise eingeführt haben, aber weitere Spalten hinzufügen möchten
Wenn Sie Oracle JDK 11 ab September verwenden möchten (fügen Sie Amazon Corretto hinzu)
Wenn Sie es wagen, Integer mit "==" zu vergleichen ...
Grundlegende Rails-Befehle, die Sie lernen möchten
Wenn Sie Werte dynamisch einbetten und Attributwerten in Thymeleaf 3 Text hinzufügen möchten
Wenn Sie mit Ruby eine Zip-Datei erstellen möchten, ist dies Rubyzip.
Wenn Sie die Testabdeckung privater Methoden in JUnit erfüllen möchten
Wenn Sie Android Room verwenden und die Spaltendefinition ändern möchten
Wenn Sie InputStream in JDBI3 binden möchten
Wenn Sie die Methode außerhalb verwenden möchten
Was tun, wenn Sie falsche Informationen eingeben?
[Ruby] Wenn Sie mehrere Zeichen ersetzen möchten
[Rails] After-Option nützlich, wenn Sie die Reihenfolge der DB-Spalten ändern möchten
Was tun, wenn Sie versehentlich ein Modell erstellen?
Wenn Sie Annotation in Java 8 dynamisch ersetzen möchten
Wenn Sie eine Java-Anwendung in ein Docker-Image verwandeln möchten, ist es praktisch, Jib zu verwenden.