aboutsummaryrefslogtreecommitdiff
path: root/tasks/db/seed/sample_data.cr
diff options
context:
space:
mode:
Diffstat (limited to 'tasks/db/seed/sample_data.cr')
-rw-r--r--tasks/db/seed/sample_data.cr30
1 files changed, 30 insertions, 0 deletions
diff --git a/tasks/db/seed/sample_data.cr b/tasks/db/seed/sample_data.cr
new file mode 100644
index 0000000..231d7e8
--- /dev/null
+++ b/tasks/db/seed/sample_data.cr
@@ -0,0 +1,30 @@
+require "../../../spec/support/factories/**"
+
+# Add sample data helpful for development, e.g. (fake users, blog posts, etc.)
+#
+# Use `Db::Seed::RequiredData` if you need to create data *required* for your
+# app to work.
+class Db::Seed::SampleData < LuckyTask::Task
+ summary "Add sample database records helpful for development"
+
+ def call
+ # Using an Avram::Factory:
+ #
+ # Use the defaults, but override just the email
+ # UserFactory.create &.email("me@example.com")
+
+ # Using a SaveOperation:
+ # ```
+ # SignUpUser.create!(email: "me@example.com", password: "test123", password_confirmation: "test123")
+ # ```
+ #
+ # You likely want to be able to run this file more than once. To do that,
+ # only create the record if it doesn't exist yet:
+ # ```
+ # if UserQuery.new.email("me@example.com").none?
+ # SignUpUser.create!(email: "me@example.com", password: "test123", password_confirmation: "test123")
+ # end
+ # ```
+ puts "Done adding sample data"
+ end
+end