54 lines
2.1 KiB
SQL
54 lines
2.1 KiB
SQL
-- The development and CI fixture loader. Not reachable from the shipping
|
|
-- image: the seeder is built from its own Dockerfile stage.
|
|
|
|
-- name: SeedReset :exec
|
|
-- Relations cascade, so campaigns and owners are enough; users go too because
|
|
-- the fixture's pledges are anonymous and any account left behind is an orphan.
|
|
DELETE FROM pledges;
|
|
|
|
-- name: SeedResetCampaigns :exec
|
|
DELETE FROM campaigns;
|
|
|
|
-- name: SeedResetOwners :exec
|
|
DELETE FROM owners;
|
|
|
|
-- name: SeedResetUsers :exec
|
|
DELETE FROM users;
|
|
|
|
-- name: SeedOwner :one
|
|
INSERT INTO owners (id, slug, name, initials, location, blurb, avatar_url, approved)
|
|
VALUES (@id, @slug, @name, @initials, @location, @blurb, NULLIF(@avatar_url, ''), true)
|
|
ON CONFLICT (slug) DO UPDATE SET name = EXCLUDED.name
|
|
RETURNING id;
|
|
|
|
-- name: SeedCampaign :exec
|
|
INSERT INTO campaigns (id, slug, title, category, summary, art, goal_amount,
|
|
ends_at, status, owner_id)
|
|
VALUES (@id, @slug, @title, @category, @summary, @art, @goal_amount,
|
|
@ends_at, @status::campaign_status, @owner_id);
|
|
|
|
-- name: SeedStorySection :exec
|
|
INSERT INTO story_sections (id, campaign_id, heading, body, position)
|
|
VALUES (@id, @campaign_id, @heading, @body, @position);
|
|
|
|
-- name: SeedTier :exec
|
|
INSERT INTO reward_tiers (id, campaign_id, type, price, list_price, title,
|
|
includes, inventory_limit, estimated_delivery,
|
|
featured, position)
|
|
VALUES (@id, @campaign_id, @type::tier_type, @price, @list_price, @title,
|
|
@includes, @inventory_limit, @estimated_delivery, @featured, @position);
|
|
|
|
-- name: SeedPledge :exec
|
|
INSERT INTO pledges (id, campaign_id, tier_id, backer_email, quantity,
|
|
amount, status, captured_at)
|
|
VALUES (@id, @campaign_id, @tier_id, @backer_email, 1,
|
|
@amount, @status::pledge_status, @captured_at);
|
|
|
|
-- name: SeedCampaignUpdate :exec
|
|
INSERT INTO campaign_updates (id, campaign_id, title, body)
|
|
VALUES (@id, @campaign_id, @title, @body);
|
|
|
|
-- name: SeedComment :exec
|
|
INSERT INTO comments (id, campaign_id, author_name, body)
|
|
VALUES (@id, @campaign_id, @author_name, @body);
|