Files
simrsx-be/cmd/migration/migrations/20250825054027.sql

148 lines
5.3 KiB
SQL

-- Create "Province" table
CREATE TABLE "public"."Province" (
"Id" smallserial NOT NULL,
"Code" character varying(2) NULL,
"Name" character varying(50) NULL,
PRIMARY KEY ("Id"),
CONSTRAINT "uni_Province_Code" UNIQUE ("Code")
);
-- Create "User" table
CREATE TABLE "public"."User" (
"Id" bigserial NOT NULL,
"CreatedAt" timestamptz NULL,
"UpdatedAt" timestamptz NULL,
"DeletedAt" timestamptz NULL,
"Name" character varying(25) NOT NULL,
"Password" character varying(255) NOT NULL,
"Status_Code" character varying(10) NOT NULL,
"FailedLoginCount" smallint NULL,
"LoginAttemptCount" bigint NULL,
"LastSuccessLogin" timestamptz NULL,
"LastAllowdLogin" timestamptz NULL,
PRIMARY KEY ("Id")
);
-- Create "Regency" table
CREATE TABLE "public"."Regency" (
"Id" serial NOT NULL,
"Province_Code" character varying(2) NULL,
"Code" character varying(4) NULL,
"Name" character varying(50) NULL,
PRIMARY KEY ("Id"),
CONSTRAINT "uni_Regency_Code" UNIQUE ("Code"),
CONSTRAINT "fk_Province_Regencies" FOREIGN KEY ("Province_Code") REFERENCES "public"."Province" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION
);
-- Create "District" table
CREATE TABLE "public"."District" (
"Id" bigserial NOT NULL,
"Regency_Code" character varying(4) NULL,
"Code" character varying(6) NULL,
"Name" character varying(50) NULL,
PRIMARY KEY ("Id"),
CONSTRAINT "uni_District_Code" UNIQUE ("Code"),
CONSTRAINT "fk_Regency_Districts" FOREIGN KEY ("Regency_Code") REFERENCES "public"."Regency" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION
);
-- Create "Division" table
CREATE TABLE "public"."Division" (
"Id" serial NOT NULL,
"CreatedAt" timestamptz NULL,
"UpdatedAt" timestamptz NULL,
"DeletedAt" timestamptz NULL,
"Code" character varying(10) NULL,
"Name" character varying(50) NULL,
"Parent_Id" smallint NULL,
PRIMARY KEY ("Id"),
CONSTRAINT "uni_Division_Code" UNIQUE ("Code")
);
-- Create "DivisionPosition" table
CREATE TABLE "public"."DivisionPosition" (
"Id" serial NOT NULL,
"CreatedAt" timestamptz NULL,
"UpdatedAt" timestamptz NULL,
"DeletedAt" timestamptz NULL,
"Division_Id" integer NULL,
"Code" character varying(10) NULL,
"Name" character varying(50) NULL,
PRIMARY KEY ("Id"),
CONSTRAINT "uni_DivisionPosition_Code" UNIQUE ("Code"),
CONSTRAINT "fk_DivisionPosition_Division" FOREIGN KEY ("Division_Id") REFERENCES "public"."Division" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
);
-- Create "Person" table
CREATE TABLE "public"."Person" (
"Id" bigserial NOT NULL,
"CreatedAt" timestamptz NULL,
"UpdatedAt" timestamptz NULL,
"DeletedAt" timestamptz NULL,
"Name" character varying(150) NOT NULL,
"BirthDate" timestamptz NULL,
"BirthRegency_Code" character varying(4) NULL,
"Gender_Code" character varying(10) NULL,
"ResidentIdentityNumber" character varying(16) NULL,
"Religion_Code" character varying(10) NULL,
"Education_Code" character varying(10) NULL,
"Ocupation_Code" character varying(15) NULL,
"Ocupation_Name" character varying(50) NULL,
"Ethnic_Code" character varying(15) NULL,
PRIMARY KEY ("Id")
);
-- Create "PersonAddress" table
CREATE TABLE "public"."PersonAddress" (
"Id" bigserial NOT NULL,
"CreatedAt" timestamptz NULL,
"UpdatedAt" timestamptz NULL,
"DeletedAt" timestamptz NULL,
"Person_Id" bigint NULL,
"Address" character varying(150) NULL,
"Rt" character varying(2) NULL,
"Rw" character varying(2) NULL,
"Village_Code" character varying(10) NULL,
PRIMARY KEY ("Id"),
CONSTRAINT "fk_Person_Addresses" FOREIGN KEY ("Person_Id") REFERENCES "public"."Person" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
);
-- Create "PersonContact" table
CREATE TABLE "public"."PersonContact" (
"Id" bigserial NOT NULL,
"CreatedAt" timestamptz NULL,
"UpdatedAt" timestamptz NULL,
"DeletedAt" timestamptz NULL,
"Person_Id" bigint NULL,
"Type_Code" character varying(10) NULL,
"Value" character varying(100) NULL,
PRIMARY KEY ("Id"),
CONSTRAINT "fk_Person_Contacts" FOREIGN KEY ("Person_Id") REFERENCES "public"."Person" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
);
-- Create "Installation" table
CREATE TABLE "public"."Installation" (
"Id" serial NOT NULL,
"CreatedAt" timestamptz NULL,
"UpdatedAt" timestamptz NULL,
"DeletedAt" timestamptz NULL,
"Code" character varying(10) NULL,
"Name" character varying(50) NULL,
"EncounterClass_Code" character varying(10) NULL,
PRIMARY KEY ("Id"),
CONSTRAINT "uni_Installation_Code" UNIQUE ("Code")
);
-- Create "Unit" table
CREATE TABLE "public"."Unit" (
"Id" serial NOT NULL,
"CreatedAt" timestamptz NULL,
"UpdatedAt" timestamptz NULL,
"DeletedAt" timestamptz NULL,
"Installation_Id" integer NULL,
"Code" character varying(10) NULL,
"Name" character varying(50) NULL,
PRIMARY KEY ("Id"),
CONSTRAINT "uni_Unit_Code" UNIQUE ("Code"),
CONSTRAINT "fk_Unit_Installation" FOREIGN KEY ("Installation_Id") REFERENCES "public"."Installation" ("Id") ON UPDATE NO ACTION ON DELETE NO ACTION
);
-- Create "Village" table
CREATE TABLE "public"."Village" (
"Id" bigserial NOT NULL,
"District_Code" character varying(6) NULL,
"Code" character varying(10) NULL,
"Name" character varying(50) NULL,
PRIMARY KEY ("Id"),
CONSTRAINT "uni_Village_Code" UNIQUE ("Code"),
CONSTRAINT "fk_District_Villages" FOREIGN KEY ("District_Code") REFERENCES "public"."District" ("Code") ON UPDATE NO ACTION ON DELETE NO ACTION
);