J'ai appris qu'il existe un moyen de spécifier des contraintes lors de l'enregistrement des données pour les fichiers de migration et les fichiers de modèle, j'ai donc essayé de résumer à nouveau les validations typiques. (J'ai étudié il y a longtemps, mais je vais le résumer à nouveau en qiita.)
macOS Catalina 10.15.7 VS Code 1.50.0 Ruby 2.6.5 Rails 6.0.0
→ Restriction qui ne peut pas être enregistrée lorsque les données sont vides
[Comment écrire dans le fichier de migration] null: false
20200919092740_create_item.rb
t.string :address, null: false
[Comment écrire dans un fichier modèle] presence: true
item.rb
validates :address, presence: true
→ Restriction selon laquelle les mêmes données ne peuvent pas être enregistrées plus d'une fois [Comment écrire dans le fichier de migration] unique: true
20200919092740_create_item.rb
t.string :address, unique: true
[Comment écrire dans un fichier modèle] uniqueness: true
item.rb
validates :address, uniqueness: true
→ Restriction qui ne peut pas être enregistrée lorsque les données sont vides et que les mêmes données ne peuvent pas être enregistrées en double (Contrainte NOT NULL et contrainte unique) (Restrictions définies automatiquement pour la colonne id)
[Comment écrire dans le fichier de migration] primary_key: true
20200919092740_create_item.rb
t.string :address, primary_key: true
→ Restriction selon laquelle les données ne peuvent être enregistrées que si les données qui deviennent la clé externe existent toujours
[Comment écrire dans le fichier de migration] foreign_key: true
20200919092740_create_item.rb
t.string :address, foreign_key: true
Recommended Posts