From b78977f563f5e63fdaee0570a180b7d7fb698eea Mon Sep 17 00:00:00 2001 From: Mike Dalessio Date: Thu, 27 Nov 2025 10:46:48 -0500 Subject: [PATCH] Make db/seeds.rb rerunnable when I want to add more cards. --- db/seeds.rb | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/db/seeds.rb b/db/seeds.rb index 5e2ab12ac..80523e86e 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -16,16 +16,18 @@ else email_address = "david@37signals.com" identity = Identity.find_or_create_by!(email_address: email_address) - account = Account.create_with_admin_user( - account: { - external_account_id: tenant_id, - name: signal_account_name - }, - owner: { - name: "David Heinemeier Hansson", - identity: identity - } - ) + unless account = Account.find_by(external_account_id: tenant_id) + account = Account.create_with_admin_user( + account: { + external_account_id: tenant_id, + name: signal_account_name + }, + owner: { + name: "David Heinemeier Hansson", + identity: identity + } + ) + end Current.account = account end @@ -43,7 +45,7 @@ else end def create_board(name, creator: Current.user, all_access: true, access_to: []) - Board.create!(name:, creator:, all_access:).tap { it.accesses.grant_to(access_to) } + Board.find_or_create_by!(name:, creator:, all_access:).tap { it.accesses.grant_to(access_to) } end def create_card(title, board:, description: nil, status: :published, creator: Current.user)