CREATE TABLE articles (
    id                 BIGSERIAL PRIMARY KEY,
    tenant_id          BIGINT NOT NULL REFERENCES tenants(id),
    source_type        VARCHAR(30) NOT NULL,
    template_id        BIGINT REFERENCES article_templates(id),
    prompt_rule_id     BIGINT,
    current_version_id BIGINT,
    generate_status    VARCHAR(20) NOT NULL DEFAULT 'pending',
    publish_status     VARCHAR(20) NOT NULL DEFAULT 'unpublished',
    created_at         TIMESTAMPTZ NOT NULL DEFAULT NOW(),
    updated_at         TIMESTAMPTZ NOT NULL DEFAULT NOW(),
    deleted_at         TIMESTAMPTZ
);
CREATE INDEX idx_article_tenant_created ON articles(tenant_id, created_at DESC);
CREATE INDEX idx_article_tenant_status ON articles(tenant_id, generate_status, publish_status, created_at DESC);
