095_subscription_plans.sql 808 B

123456789101112131415161718
  1. CREATE TABLE IF NOT EXISTS subscription_plans (
  2. id BIGSERIAL PRIMARY KEY,
  3. group_id BIGINT NOT NULL,
  4. name VARCHAR(100) NOT NULL,
  5. description TEXT NOT NULL DEFAULT '',
  6. price DECIMAL(20,2) NOT NULL,
  7. original_price DECIMAL(20,2),
  8. validity_days INT NOT NULL DEFAULT 30,
  9. validity_unit VARCHAR(10) NOT NULL DEFAULT 'day',
  10. features TEXT NOT NULL DEFAULT '',
  11. product_name VARCHAR(100) NOT NULL DEFAULT '',
  12. for_sale BOOLEAN NOT NULL DEFAULT TRUE,
  13. sort_order INT NOT NULL DEFAULT 0,
  14. created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
  15. updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
  16. );
  17. CREATE INDEX IF NOT EXISTS idx_subscription_plans_group_id ON subscription_plans(group_id);
  18. CREATE INDEX IF NOT EXISTS idx_subscription_plans_for_sale ON subscription_plans(for_sale);