mirror of
https://github.com/zed-industries/zed.git
synced 2025-01-09 02:44:49 +00:00
085d41b121
This PR adds a new `billing_subscriptions` table to the database, as well as some accompanying models/queries. In this table we store a minimal amount of data from Stripe: - The Stripe customer ID - The Stripe subscription ID - The status of the Stripe subscription This should be enough for interactions with the Stripe API (e.g., to [create a customer portal session](https://docs.stripe.com/api/customer_portal/sessions/create)), as well as determine whether a subscription is active (based on the `status`). Release Notes: - N/A
12 lines
664 B
SQL
12 lines
664 B
SQL
CREATE TABLE IF NOT EXISTS billing_subscriptions (
|
|
id SERIAL PRIMARY KEY,
|
|
created_at TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT now(),
|
|
user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
|
stripe_customer_id TEXT NOT NULL,
|
|
stripe_subscription_id TEXT NOT NULL,
|
|
stripe_subscription_status TEXT NOT NULL
|
|
);
|
|
|
|
CREATE INDEX "ix_billing_subscriptions_on_user_id" ON billing_subscriptions (user_id);
|
|
CREATE INDEX "ix_billing_subscriptions_on_stripe_customer_id" ON billing_subscriptions (stripe_customer_id);
|
|
CREATE UNIQUE INDEX "uix_billing_subscriptions_on_stripe_subscription_id" ON billing_subscriptions (stripe_subscription_id);
|