"""add trial_ends_at to public.organizations for 14-day trial-then-free flow

Revision ID: hc42d5f3a8b1
Revises: gb31a4f2e9d7
Create Date: 2026-06-11
"""
from alembic import op
import sqlalchemy as sa

revision = 'hc42d5f3a8b1'
down_revision = 'gb31a4f2e9d7'
branch_labels = None
depends_on = None


def upgrade():
    # Guard: replayed by every fresh tenant's migration run — must be idempotent.
    conn = op.get_bind()
    exists = conn.execute(sa.text(
        "SELECT 1 FROM information_schema.columns "
        "WHERE table_schema='public' AND table_name='organizations' "
        "AND column_name='trial_ends_at'"
    )).fetchone()
    if not exists:
        op.add_column(
            'organizations',
            sa.Column('trial_ends_at', sa.DateTime(), nullable=True),
            schema='public',
        )


def downgrade():
    op.drop_column('organizations', 'trial_ends_at', schema='public')
