Eine Reihe von Ablauf der Tabellenerstellung → Datensatzerstellung, Löschung → Tabellenlöschung in Ruby on Rails

Einführung

Es ist ein komplettes Muskeltrainingsset, das auch als Erinnerung dient, um sich an die DB-Operationen von Ruby on Rails zu gewöhnen.

Ich denke, dass das Verfahren zum Löschen einer Tabelle für Anfänger, einschließlich mir, etwas kompliziert ist, daher hoffe ich, dass es für wiederholtes Üben nützlich sein wird.

Es wird davon ausgegangen, dass die Datenbank bereits in Ihrer Rails-App installiert ist. Wenn Sie die Datenbank noch nicht erstellt haben, bereiten Sie die Datenbank bitte mit "Rails db: create" vor.

Umgebung

Ruby 2.7.2 Rails 6.0.3

Erstellen Sie eine neue Tabelle

Wechseln Sie zunächst vom Terminal in das Verzeichnis, in dem sich die Rails-App befindet.

console


>CD (Ordneradresse)

Erstellen Sie eine Migrationsdatei für die Modellerstellung. (Beispiel: Modellname "Benutzer", Feldname "Name", "Adresse", "Alter")

console


> rails g model User name:text address:text age:integer

Zu diesem Zeitpunkt werden eine Klassendatei und eine Migrationsdatei erstellt, die das "Benutzer" -Modell definieren, es werden jedoch keine Tabellen generiert.

Zum Generieren der Tabelle ist eine Migration erforderlich.

console


> rails db:migrate

Dadurch wird eine "Benutzer" -Tabelle basierend auf dem "Benutzer" -Modell erstellt.

__ * Der Tabellenname unterscheidet sich vom Modellnamen aufgrund der Schienenbenennungskonvention __. Referenz: "Ich habe versucht, die Namensregeln des Rails DB-Modells zusammenzufassen" https://qiita.com/seri1234/items/8ca4b52d82390929195f

Vom Hinzufügen des Datensatzes bis zum Löschen

Starten Sie die Rails-Konsole.

Schienenkonsole


> rails console

Fügen Sie der neuen Zeile einen Datensatz hinzu.

Schienenkonsole


irb(main):001:0> user = User.new
irb(main):002:0> user.name = "John Smith"
irb(main):003:0> user.save

Stellen Sie sicher, dass der Datensatz hinzugefügt wurde.

Schienenkonsole


irb(main):004:0> users = User.all

Löschen Sie nach der Bestätigung den erstellten Datensatz. (Das Argument von find () ist der Index des Datensatzes)

Schienenkonsole


irb(main):005:0> User.find(1).destroy

Beenden Sie nach dem Löschen des Datensatzes die Rails-Konsole und kehren Sie zum Terminal zurück.

Schienenkonsole


irb(main):006:0> exit

Vom Löschen eines Modells bis zum Löschen einer Tabelle

Löschen Sie zunächst die Datei, die beim Erstellen des Modells erstellt wurde.

console


> rails destroy model User

Dadurch wird das "Benutzer" -Modell entfernt.

__ Bitte beachten Sie, dass zu diesem Zeitpunkt noch eine "Benutzer" -Tabelle vorhanden ist. __ __

Erstellen Sie als Nächstes eine Migrationsdatei zum Löschen der Tabelle. ("Drop_table_users" kann ein beliebiger Name sein)

console


> rails generate migration drop_table_users

Eine Migrationsdatei mit dem Namen "~ drop_table_users.rb" mit den Nummern am Anfang wird unter "app name / db / migrate /" erstellt.

Öffnen Sie diese Datei mit einem Texteditor, fügen Sie einen Befehl zum Löschen der Tabelle in "def change" hinzu und speichern Sie sie durch Überschreiben.

1**********9drop_table_users.rb


class DropTableUsers < ActiveRecord::Migration[6.0]
  def change
    #Fügen Sie eine Zeile darunter hinzu
    drop_table :users
  end
end

Führen Sie die Migration durch.

console


> rails db:migrate

Die Tabelle wird gelöscht, und der Vorgang wird abgeschlossen.

Recommended Posts

Eine Reihe von Ablauf der Tabellenerstellung → Datensatzerstellung, Löschung → Tabellenlöschung in Ruby on Rails
(Ruby on Rails6) Erstellen von Daten in einer Tabelle
Befehl zum Erstellen / Löschen von Ruby on Rails-Modellen
Empfehlung der Serviceklasse in Ruby on Rails
[Ruby on Rails] Ein Memorandum mit Layoutvorlagen
Erklärung von Ruby auf Schienen für Anfänger ⑥ ~ Erstellung der Validierung ~
Eine Aufzeichnung einer einfachen Berührung des GCP-Datenflusses
Ruby on Rails Lernrekord -2020.10.03
Portfolioerstellung Ruby on Rails
Ruby on Rails Lernrekord -2020.10.04
Ruby on Rails Lernrekord -2020.10.05
Ruby on Rails Lernrekord -2020.10.09
Ruby on Rails lernen Rekord-2020.10.07 ②
Ruby on Rails lernen Rekord-2020.10.07 ①
Ruby on Rails Lernrekord -2020.10.06
Schwierigkeiten beim Erstellen einer Ruby on Rails-Umgebung (Windows 10) (SQLite3)
Ein Hinweis zum Seed-Feature von Ruby on Rails
So zeigen Sie Diagramme in Ruby on Rails an (LazyHighChart)
Erklärung von Ruby on Rails für Anfänger ③ ~ Erstellen einer Datenbank ~
Wenden Sie CSS auf eine bestimmte Ansicht in Ruby on Rails an
Grundkenntnisse in Ruby on Rails
Ruby on Rails Japanisch-Englisch kompatibler i18n
[Ruby on Rails] Erstellung der Bestätigungsseite
(Ruby on Rails6) Erstellen einer Datenbank und Anzeigen in einer Ansicht
Lösche N + 1 in Acts_as_tree von Ruby on Rails Baumstruktur Gem
[Ruby on Rails] Einführung der Anfangsdaten
[Rails] Hinzufügen der Ruby On Rails-Kommentarfunktion
Ruby on Rails in Visual Studio-Codespaces
[Ruby on Rails] Informationen zum Active Record-Rückruf
[Ruby on Rails] Japanische Fehlernotation
Erklärung von Ruby auf Schienen für Anfänger ①
[Ruby on Rails] Implementierung einer ähnlichen Funktion
Anfänger haben mit Ruby on Rails ein Portfolio erstellt
[Ruby on Rails] Logisches Löschen (Auszahlungsfunktion)
So erstellen Sie eine Abfrage mithilfe von Variablen in GraphQL [Verwenden von Ruby on Rails]
Implementierung der Ruby on Rails-Anmeldefunktion (Sitzung)
[Anfänger-Verfahrenshandbuch 2] Ruby on Rails: Erstellen einer Rails-Vorlage
[Ruby on Rails] Bis zur Einführung von RSpec
Rails neu in Ruby on Rails ~ Memorandum bis zur Bereitstellung 2
Ruby on Rails ~ Grundlagen von MVC und Router ~
Einführung in Rspec, ein Testframework für Ruby on Rails
Rails neu in Ruby on Rails ~ Memorandum bis zur Bereitstellung 1
[Ruby on Rails] Implementieren Sie ein Kreisdiagramm, das den Prozentsatz der Farben angibt
So erstellen Sie eine eindeutige Datenkombination in der Schienen-Zwischentabelle
[Ruby on Rails] Individuelle Anzeige von Fehlermeldungen
Ich habe mit Ruby On Rails ein Portfolio erstellt
[Ruby on Rails] Asynchrone Kommunikation der Posting-Funktion, Ajax
[Einführung] Erstellen Sie eine Ruby on Rails-Anwendung
[Ruby on Rails] Wie schreibe ich eine Enumeration auf Japanisch?
Erstellen Sie eine Ruby on Rails-Entwicklungsumgebung in AWS Cloud9
Implementierung der Ruby on Rails-Anmeldefunktion (Devise Edition)