18 lines
774 B
SQL
18 lines
774 B
SQL
-- Create subscriptions table to track user subscriptions
|
|
CREATE TABLE subscriptions (
|
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
user_id UUID NOT NULL UNIQUE REFERENCES users(id) ON DELETE CASCADE,
|
|
stripe_subscription_id TEXT UNIQUE,
|
|
stripe_customer_id TEXT,
|
|
status TEXT NOT NULL DEFAULT 'trialing',
|
|
current_period_start TIMESTAMPTZ,
|
|
current_period_end TIMESTAMPTZ,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
canceled_at TIMESTAMPTZ
|
|
);
|
|
|
|
-- Create index for faster lookups
|
|
CREATE INDEX idx_subscriptions_user_id ON subscriptions(user_id);
|
|
CREATE INDEX idx_subscriptions_stripe_subscription_id ON subscriptions(stripe_subscription_id);
|
|
CREATE INDEX idx_subscriptions_status ON subscriptions(status);
|