Ich werde ausgeben, was ich durch das Studium von Samen gelernt habe! Ich hoffe, es wird hilfreich sein für diejenigen, die von nun an Samen lernen.
Die Seed-Datei ist die Anfangsdaten. Wenn Sie beispielsweise die Datenbank während der Entwicklung zurücksetzen, gehen alle Daten verloren. Wenn es jedes Mal verschwindet und eine Registrierungsfunktion vorhanden ist, müssen die Daten bei jedem Zurücksetzen neu registriert werden. Es ist wirklich mühsam, nicht wahr? Wenn Sie also die Daten beschreiben, die Sie in die Seed-Datei in db / seeds.rb einfügen möchten, müssen Sie sie nicht einzeln neu erstellen! !! !!
Dadurch werden Daten für den Benutzer erstellt.
User.create!(email: "[email protected]",password: "password" )
Es verwendet grundlegende Ruby-Befehle! Wir übergeben n als Argument, damit die E-Mails nicht gleich sind. Der Grund für die Einstellung auf n + 1 ist, dass die Daten bei 0 beginnen, wenn es nur n ist.
10.times do |n|
User.create!(
email: "user#{n+1}@example.com",
password: "password" )
end
Angenommen, Sie haben einen Benutzer und das zugehörige Aufgabenmodell. Als Startdaten generieren wir eine Aufgabe, die sich auf das Benutzermodell bezieht. Dann können Sie wie folgt schreiben!
User.all.each do |user|
Task.create!(
user_id: user.id,
title: "title",
memo: "memo",
color: "red",
start_date: "2020/5/1",
end_date: "2020/5/30" )
end
Um die CSV-Datei zu lesen, schreiben Sie wie folgt. Der Teil "db / csv / masters / init_categories.csv" ändert sich je nachdem, wo Sie die Datei ablegen.
CSV.foreach("db/csv/masters/init_categories.csv") do |row|
@categories = Masters::Category.create!(name: row[0])
end
Dieses Mal habe ich ein Beispielbild unter der App vorbereitet, daher werde ich unten beschreiben, wie es geht. Laden Sie mit der Methode open.
User.create!(
image: open("db/images/sample.png "),
title: "Thema",
overview: "Überblick",
link: "http://origin_job_topic_sample.com" )
Wenn das Benutzermodell beispielsweise wie folgt beschrieben wird, möchten Sie beim Erstellen von Startdaten ein Muster, das beides enthält, oder? Enum ist übrigens eine Funktion, mit der Sie Benutzer und Administratoren numerisch speichern können.
enum user_type: {
user: 0,
admin: 1,
}
Wenn Sie in einem solchen Fall wie folgt schreiben, werden die Daten zufällig erstellt! Dies verwendet auch den grundlegenden Schreibstil von Ruby!
User.create!(
email: "[email protected]",
password: "password",
status: rand(0..1) )
Ich hatte Samen nicht angerührt, bevor ich den Job gewechselt hatte, aber ich glaube, ich habe diesmal die Grundlagen gelernt. Ich lerne noch, also werde ich es aktualisieren, sobald ich neues Wissen bekomme! !!
Recommended Posts