commit
This commit is contained in:
51
drizzle/0009_lean_hobgoblin.sql
Normal file
51
drizzle/0009_lean_hobgoblin.sql
Normal file
@@ -0,0 +1,51 @@
|
||||
ALTER TABLE "employees" ADD COLUMN "prefix" text;--> statement-breakpoint
|
||||
ALTER TABLE "employees" ADD COLUMN "first_name_th" text;--> statement-breakpoint
|
||||
ALTER TABLE "employees" ADD COLUMN "last_name_th" text;--> statement-breakpoint
|
||||
ALTER TABLE "employees" ADD COLUMN "first_name_en" text;--> statement-breakpoint
|
||||
ALTER TABLE "employees" ADD COLUMN "last_name_en" text;--> statement-breakpoint
|
||||
ALTER TABLE "employees" ADD COLUMN "display_name" text;--> statement-breakpoint
|
||||
ALTER TABLE "employees" ADD COLUMN "phone" text;--> statement-breakpoint
|
||||
ALTER TABLE "employees" ADD COLUMN "company_name" text;--> statement-breakpoint
|
||||
ALTER TABLE "employees" ADD COLUMN "status" text DEFAULT 'active' NOT NULL;--> statement-breakpoint
|
||||
ALTER TABLE "users" ADD COLUMN "provider" text DEFAULT 'credentials' NOT NULL;--> statement-breakpoint
|
||||
ALTER TABLE "users" ADD COLUMN "provider_user_id" text;--> statement-breakpoint
|
||||
ALTER TABLE "users" ADD COLUMN "employee_id" integer;--> statement-breakpoint
|
||||
ALTER TABLE "users" ADD COLUMN "last_login_at" timestamp with time zone;--> statement-breakpoint
|
||||
ALTER TABLE "employee_training_targets" ADD COLUMN "employee_id" integer;--> statement-breakpoint
|
||||
ALTER TABLE "employee_training_targets" ADD CONSTRAINT "employee_training_targets_employee_id_employees_id_fk" FOREIGN KEY ("employee_id") REFERENCES "public"."employees"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
|
||||
ALTER TABLE "users" ADD CONSTRAINT "users_employee_id_employees_id_fk" FOREIGN KEY ("employee_id") REFERENCES "public"."employees"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX "users_provider_user_id_idx" ON "users" USING btree ("provider","provider_user_id");--> statement-breakpoint
|
||||
|
||||
UPDATE "employees"
|
||||
SET
|
||||
"display_name" = COALESCE("display_name", "full_name"),
|
||||
"company_name" = COALESCE("company_name", "company"),
|
||||
"status" = CASE WHEN "is_active" = true THEN 'active' ELSE 'inactive' END;--> statement-breakpoint
|
||||
|
||||
UPDATE "users"
|
||||
SET "provider" = COALESCE("provider", 'credentials')
|
||||
WHERE "provider" IS NULL;--> statement-breakpoint
|
||||
|
||||
UPDATE "users" u
|
||||
SET "employee_id" = e."id"
|
||||
FROM "memberships" m
|
||||
INNER JOIN "employees" e
|
||||
ON e."organization_id" = m."organization_id"
|
||||
AND e."employee_code" = u."employee_code"
|
||||
WHERE m."user_id" = u."id"
|
||||
AND u."employee_code" IS NOT NULL
|
||||
AND (u."employee_id" IS NULL OR u."employee_id" <> e."id");--> statement-breakpoint
|
||||
|
||||
UPDATE "training_records" tr
|
||||
SET "employee_id" = u."employee_id"
|
||||
FROM "users" u
|
||||
WHERE tr."user_id" = u."id"
|
||||
AND tr."employee_id" IS NULL
|
||||
AND u."employee_id" IS NOT NULL;--> statement-breakpoint
|
||||
|
||||
UPDATE "employee_training_targets" ett
|
||||
SET "employee_id" = u."employee_id"
|
||||
FROM "users" u
|
||||
WHERE ett."user_id" = u."id"
|
||||
AND ett."employee_id" IS NULL
|
||||
AND u."employee_id" IS NOT NULL;
|
||||
Reference in New Issue
Block a user