From 7d61d8fb0a490de77e4622e0ec05fb20cf2b7b8e Mon Sep 17 00:00:00 2001 From: Graham McIntire Date: Fri, 6 Mar 2026 13:26:50 -0600 Subject: [PATCH] feat: seed global billing settings in application_settings --- .../20260306192611_seed_billing_settings.exs | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 priv/repo/migrations/20260306192611_seed_billing_settings.exs diff --git a/priv/repo/migrations/20260306192611_seed_billing_settings.exs b/priv/repo/migrations/20260306192611_seed_billing_settings.exs new file mode 100644 index 00000000..fb7fbf11 --- /dev/null +++ b/priv/repo/migrations/20260306192611_seed_billing_settings.exs @@ -0,0 +1,22 @@ +defmodule Towerops.Repo.Migrations.SeedBillingSettings do + use Ecto.Migration + + def up do + execute """ + INSERT INTO application_settings (id, key, value, value_type, description, inserted_at, updated_at) + VALUES + (gen_random_uuid(), 'default_free_devices', '10', 'integer', + 'Number of free devices included in all subscriptions', NOW(), NOW()), + (gen_random_uuid(), 'default_price_per_device', '2.00', 'string', + 'Price per device per month (USD) after free tier', NOW(), NOW()) + ON CONFLICT (key) DO NOTHING; + """ + end + + def down do + execute """ + DELETE FROM application_settings + WHERE key IN ('default_free_devices', 'default_price_per_device'); + """ + end +end