-- +goose Up -- Announcements: blog-wide notices shown on every page and post. CREATE TABLE sections ( id bigserial PRIMARY KEY, blog_id bigint NOT NULL REFERENCES blogs(id) ON DELETE CASCADE, title text NOT NULL DEFAULT '', body_md text NOT NULL DEFAULT '', body_html text NOT NULL DEFAULT '', placement text NOT NULL DEFAULT 'above' CHECK (placement IN ('above', 'below', 'sidebar')), style text NOT NULL DEFAULT 'note' CHECK (style IN ('plain', 'note', 'warning')), enabled boolean NOT NULL DEFAULT true, sort_order integer NOT NULL DEFAULT 0, created_at timestamptz NOT NULL DEFAULT now(), updated_at timestamptz NOT NULL DEFAULT now() ); CREATE INDEX sections_blog ON sections (blog_id, sort_order, id); -- +goose Down DROP TABLE sections;