49 lines
1.5 KiB
SQL
49 lines
1.5 KiB
SQL
-- CreateSchema
|
|
CREATE SCHEMA IF NOT EXISTS "public";
|
|
|
|
-- CreateEnum
|
|
CREATE TYPE "AccountType" AS ENUM ('USER', 'SERVICE');
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "billing_app_account" (
|
|
"uuid" UUID NOT NULL,
|
|
"name" VARCHAR(255) NOT NULL,
|
|
"account_type" "AccountType" NOT NULL DEFAULT 'USER',
|
|
"description" TEXT,
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
CONSTRAINT "billing_app_account_pkey" PRIMARY KEY ("uuid")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "billing_app_operationcode" (
|
|
"id" SERIAL NOT NULL,
|
|
"code" INTEGER NOT NULL,
|
|
"name" VARCHAR(255) NOT NULL,
|
|
"description" TEXT,
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
CONSTRAINT "billing_app_operationcode_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "billing_app_serviceaccount" (
|
|
"account_id" UUID NOT NULL,
|
|
"slug" VARCHAR(50) NOT NULL,
|
|
|
|
CONSTRAINT "billing_app_serviceaccount_pkey" PRIMARY KEY ("account_id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "billing_app_operationcode_code_key" ON "billing_app_operationcode"("code");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "billing_app_operationcode_name_key" ON "billing_app_operationcode"("name");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "billing_app_serviceaccount_slug_key" ON "billing_app_serviceaccount"("slug");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "billing_app_serviceaccount" ADD CONSTRAINT "billing_app_serviceaccount_account_id_fkey" FOREIGN KEY ("account_id") REFERENCES "billing_app_account"("uuid") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|