[Ruby on Rails] Spaltenbeschränkungen beim Speichern in der Datenbank (4 Vertreter)

Hintergrund des Schreibens dieses Artikels

Ich habe gelernt, dass es eine Möglichkeit gibt, Einschränkungen beim Speichern von Daten für Migrationsdateien und Modelldateien anzugeben, und habe daher versucht, typische Validierungen erneut zusammenzufassen. (Ich habe vor langer Zeit studiert, aber ich werde es noch einmal in Qiita zusammenfassen.)

Implementierungsumgebung

macOS Catalina 10.15.7 VS Code 1.50.0 Ruby 2.6.5 Rails 6.0.0

① NICHT NULL-Einschränkung

→ Einschränkung, die nicht gespeichert werden kann, wenn die Daten leer sind

[Wie schreibe ich in die Migrationsdatei] null: false

20200919092740_create_item.rb


t.string :address, null: false

[Wie schreibe ich in eine Modelldatei] presence: true

item.rb


validates :address, presence: true

② Eindeutigkeitsbeschränkung

→ Einschränkung, dass dieselben Daten nicht mehr als einmal gespeichert werden können [Wie schreibe ich in die Migrationsdatei] unique: true

20200919092740_create_item.rb


t.string :address, unique: true

[Wie schreibe ich in eine Modelldatei] uniqueness: true

item.rb


validates :address, uniqueness: true

③ Primärschlüsseleinschränkung

→ Einschränkung, die nicht gespeichert werden kann, wenn die Daten leer sind und dieselben Daten nicht doppelt gespeichert werden können (NICHT NULL-Einschränkung und eindeutige Einschränkung) (Einschränkungen werden automatisch für die ID-Spalte festgelegt.)

[Wie schreibe ich in die Migrationsdatei] primary_key: true

20200919092740_create_item.rb


t.string :address, primary_key: true

④ Externe Schlüsselbeschränkung

→ Einschränkung, dass Daten nur gespeichert werden können, wenn die Daten, die zum externen Schlüssel werden, immer vorhanden sind

[Wie schreibe ich in die Migrationsdatei] foreign_key: true

20200919092740_create_item.rb


t.string :address, foreign_key: true

Recommended Posts

[Ruby on Rails] Spaltenbeschränkungen beim Speichern in der Datenbank (4 Vertreter)
[Ruby on Rails] So ändern Sie den Spaltennamen
[Ruby on Rails] Ändern Sie die URL-ID in den Spaltennamen
Verwendung von Ruby on Rails
Bereitstellen für Heroku [Ruby on Rails] Anfänger
[Ruby on Rails] Verwendung von redirect_to
[Ruby on Rails] Schaltfläche, um nach oben zurückzukehren
Was tun, wenn blockierter Host: "Hostname" in Ruby on Rails angezeigt wird
Ruby on Rails Wenn Sie die Ursache für das Zurücksetzen beim Speichern nicht kennen.
Bereitstellung auf Ruby on Rails Elastic Beanstalk (EB-Bereitstellung)
Wenn das Ruby on Rails-Terminal zurückrollt
[Rails MySQL] So setzen Sie die Datenbank auf Heroku zurück
Ruby on Rails Elementary
Ruby on Rails Grundlagen
Ruby On Rails Association
[Einführung] Erstellen Sie eine Ruby on Rails-Anwendung
Zusammenfassung der Methoden zum Aktualisieren mehrerer Spalten [Ruby on Rails]
[Ruby on Rails] Wie schreibe ich eine Enumeration auf Japanisch?
[Von Zeit zu Zeit aktualisiert] Ruby on Rails Praktische Methode
Bereitstellen auf Ruby on Rails Elastische Bohnenstange (Umgebungskonstruktion)
Ruby on Rails-Lernprogramm Problematische Hinweise unter Windows
[Ruby on Rails] Von der MySQL-Konstruktion zum Datenbankwechsel
(Ruby on Rails6) So erstellen Sie ein Modell und eine Tabelle
BasicDataSourceFactory ist ClassNotFoundException, wenn eine Verbindung zur Datenbank in Tomcat 8 hergestellt wird
Ruby on Rails Lernrekord -2020.10.03
Bereitstellung auf Ruby on Rails Elastic Beanstalk (Änderung der IAM-Berechtigung)
Portfolioerstellung Ruby on Rails
[Ruby on Rails] Wenn die ID-Erfassung des Parameters nicht gut lief
Ruby on Rails Lernrekord -2020.10.04
[Ruby on Rails] Beim Ausführen von RSpec wird aufgrund einer anderen Gem-Version eine Warnung angezeigt.
Ruby on Rails Lernrekord -2020.10.09
[Ruby on Rails] Fügen Sie eine Spalte mit externen Schlüsselbeschränkungen hinzu
<Punktinstallation> Einführung in Ruby on Rails5 Vergleich des Quellcodes
[Ruby on Rails] Eliminierung von Fat Controller-First, Logik zum Modell-
Was zu überprüfen ist, wenn Schienen db: Migration nicht bestanden
Ruby on Rails lernen Rekord-2020.10.07 ②
So geben Sie db beim Erstellen einer App mit Rails an
So zeigen Sie Diagramme in Ruby on Rails an (LazyHighChart)
[Schienen] Spalte zum Entwickeln hinzufügen
Ruby on Rails lernen Rekord-2020.10.07 ①
Brechen Sie die Ruby on Rails-Migration ab
Ruby on Rails Lernrekord -2020.10.06
Wenden Sie CSS auf eine bestimmte Ansicht in Ruby on Rails an
Zusammenfassung der Ruby on Rails-Validierung