-- CreateTable CREATE TABLE "organizations" ( "id" UUID NOT NULL DEFAULT gen_random_uuid(), "name" TEXT NOT NULL, CONSTRAINT "organizations_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "projects" ( "id" UUID NOT NULL DEFAULT gen_random_uuid(), "name" TEXT NOT NULL, "organization_id" UUID NOT NULL, CONSTRAINT "projects_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "users" ( "id" UUID NOT NULL DEFAULT gen_random_uuid(), "name" TEXT NOT NULL, "email" TEXT NOT NULL, "password" TEXT NOT NULL, "organization_id" UUID NOT NULL, CONSTRAINT "users_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "events" ( "id" UUID NOT NULL DEFAULT gen_random_uuid(), "name" TEXT NOT NULL, "properties" JSONB NOT NULL, "project_id" UUID NOT NULL, CONSTRAINT "events_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "profiles" ( "id" UUID NOT NULL DEFAULT gen_random_uuid(), "name" TEXT NOT NULL, "properties" JSONB NOT NULL, "project_id" UUID NOT NULL, CONSTRAINT "profiles_pkey" PRIMARY KEY ("id") ); -- AddForeignKey ALTER TABLE "projects" ADD CONSTRAINT "projects_organization_id_fkey" FOREIGN KEY ("organization_id") REFERENCES "organizations"("id") ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "users" ADD CONSTRAINT "users_organization_id_fkey" FOREIGN KEY ("organization_id") REFERENCES "organizations"("id") ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "events" ADD CONSTRAINT "events_project_id_fkey" FOREIGN KEY ("project_id") REFERENCES "projects"("id") ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "profiles" ADD CONSTRAINT "profiles_project_id_fkey" FOREIGN KEY ("project_id") REFERENCES "projects"("id") ON DELETE RESTRICT ON UPDATE CASCADE;