fluxer/fluxer_devops/cassandra/migrations/20251021024919_payments_v2.cql
2026-01-01 21:05:54 +00:00

65 lines
1.6 KiB
SQL

CREATE TABLE IF NOT EXISTS fluxer.payments (
checkout_session_id text,
user_id bigint,
stripe_customer_id text,
payment_intent_id text,
subscription_id text,
invoice_id text,
price_id text,
product_type text,
amount_cents int,
currency text,
status text,
is_gift boolean,
gift_code text,
created_at timestamp,
completed_at timestamp,
PRIMARY KEY ((checkout_session_id))
);
CREATE TABLE IF NOT EXISTS fluxer.payments_by_payment_intent (
payment_intent_id text,
checkout_session_id text,
PRIMARY KEY ((payment_intent_id))
);
CREATE TABLE IF NOT EXISTS fluxer.payments_by_subscription (
subscription_id text,
checkout_session_id text,
user_id bigint,
price_id text,
product_type text,
PRIMARY KEY ((subscription_id))
);
CREATE TABLE IF NOT EXISTS fluxer.payments_by_user (
user_id bigint,
created_at timestamp,
checkout_session_id text,
PRIMARY KEY ((user_id), created_at)
) WITH CLUSTERING ORDER BY (created_at DESC);
ALTER TABLE fluxer.gift_codes ADD checkout_session_id text;
CREATE TABLE IF NOT EXISTS fluxer.visionary_users (
sequence_number int,
user_id bigint,
checkout_session_id text,
gift_code text,
granted_at timestamp,
PRIMARY KEY ((sequence_number))
);
CREATE TABLE IF NOT EXISTS fluxer.visionary_users_by_user (
user_id bigint,
sequence_number int,
granted_at timestamp,
PRIMARY KEY ((user_id))
);
CREATE TABLE IF NOT EXISTS fluxer.visionary_counter (
id text,
next_sequence_number counter,
PRIMARY KEY ((id))
);