| 12345678910111213141516171819202122232425262728293031323334 |
- -- 邀请奖励:用户邀请码/被邀请关系 + 记录表 + 系统配置
- ALTER TABLE "users" ADD COLUMN "referral_code" TEXT;
- ALTER TABLE "users" ADD COLUMN "referred_by_id" TEXT;
- CREATE UNIQUE INDEX "users_referral_code_key" ON "users"("referral_code");
- CREATE TABLE "referral_records" (
- "id" TEXT NOT NULL PRIMARY KEY,
- "referrer_id" TEXT NOT NULL,
- "referee_id" TEXT NOT NULL,
- "referee_email" TEXT NOT NULL,
- "status" TEXT NOT NULL DEFAULT 'registered',
- "register_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
- "first_paid_at" TIMESTAMP(3),
- "first_paid_cents" BIGINT,
- "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
- CONSTRAINT "referral_records_referrer_id_fkey" FOREIGN KEY ("referrer_id") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE,
- CONSTRAINT "referral_records_referee_id_fkey" FOREIGN KEY ("referee_id") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE
- );
- CREATE TABLE "referral_rewards" (
- "id" TEXT NOT NULL PRIMARY KEY,
- "user_id" TEXT NOT NULL,
- "record_id" TEXT NOT NULL,
- "type" TEXT NOT NULL,
- "amount_cents" BIGINT NOT NULL,
- "status" TEXT NOT NULL DEFAULT 'credited',
- "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
- CONSTRAINT "referral_rewards_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE,
- CONSTRAINT "referral_rewards_record_id_fkey" FOREIGN KEY ("record_id") REFERENCES "referral_records"("id") ON DELETE RESTRICT ON UPDATE CASCADE
- );
- CREATE TABLE "system_configs" (
- "id" TEXT NOT NULL PRIMARY KEY,
- "key" TEXT NOT NULL UNIQUE,
- "value" TEXT NOT NULL,
- "updated_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP
- );
|