diff --git a/data/schema.sql b/data/schema_mysql.sql similarity index 100% rename from data/schema.sql rename to data/schema_mysql.sql diff --git a/data/schema_oracle.sql b/data/schema_oracle.sql new file mode 100644 index 0000000000000000000000000000000000000000..6fd8a31623d7940ea65080e09d491cad0280276e --- /dev/null +++ b/data/schema_oracle.sql @@ -0,0 +1,30 @@ +CREATE TABLE "USER" +( "ID" NUMBER(*,0) NOT NULL ENABLE, + "USERNAME" VARCHAR2(255 CHAR), + "EMAIL" VARCHAR2(255 CHAR), + "DISPLAY_NAME" VARCHAR2(64 CHAR), + "PASSWORD" VARCHAR2(128 CHAR) NOT NULL ENABLE, + CONSTRAINT "USER_PK" PRIMARY KEY ("ID"), + CONSTRAINT "USER_USERNAME_UN" UNIQUE ("USERNAME") +); + +CREATE TABLE "USER_ROLE" +( "ID" NUMBER(*,0) NOT NULL ENABLE, + "ROLE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, + "IS_DEFAULT" NUMBER(38,0) NOT NULL ENABLE, + "PARENT_ID" NUMBER(*,0), + CONSTRAINT "USER_ROLE_PK" PRIMARY KEY ("ID") + CONSTRAINT "USER_ROLE_ROLE_UN" UNIQUE ("ROLE_ID") + CONSTRAINT "USER_ROLE_USER_ROLE_FK" FOREIGN KEY ("PARENT_ID") REFERENCES "USER_ROLE" ("ID") ENABLE +); +CREATE INDEX "USER_ROLE_PARENT__IDX" ON "USER_ROLE" ("PARENT_ID"); + +CREATE TABLE "OSE"."USER_ROLE_LINKER" +( "USER_ID" NUMBER(*,0) NOT NULL ENABLE, + "ROLE_ID" NUMBER(*,0) NOT NULL ENABLE, + CONSTRAINT "USER_ROLE_LINKER_PK" PRIMARY KEY ("USER_ID", "ROLE_ID") + CONSTRAINT "USER_ROLE_USER_FK" FOREIGN KEY ("USER_ID") REFERENCES "USER" ("ID") ON DELETE CASCADE ENABLE, + CONSTRAINT "USER_ROLE_USER_ROLE_FK" FOREIGN KEY ("ROLE_ID") REFERENCES "USER_ROLE" ("ID") ON DELETE CASCADE ENABLE +); +CREATE INDEX "USER_ROLE_LINKER_ROLE_IDX" ON "USER_ROLE_LINKER" ("ROLE_ID"); +CREATE INDEX "USER_ROLE_LINKER_USER_IDX" ON "USER_ROLE_LINKER" ("USER_ID"); \ No newline at end of file