[maven-release-plugin] prepare release v1.0.0-rc1
[jibu.git] / jibu-core / src / main / resources / dbscripts / derby / createdb.sql
blob90e34d262871ebea3c59217891bcf8cac4ed799e
3 -- Run this script to create the Jibu database tables in your database.
5 -- *****************************************************
6 -- Create the tables and indices
8 -- ------------------------------------------------------
9 CREATE TABLE userbase (
10     id                     integer generated by default as identity NOT NULL PRIMARY KEY,
11     username               varchar(128) NOT NULL,
12     password               varchar(64) NOT NULL,
13     fullname               varchar(128) NOT NULL,
14     emailaddress           varchar(128),
15     enabled                smallint default 1 NOT NULL
17 ALTER TABLE userbase ADD CONSTRAINT userbase_username_uq UNIQUE ( username );
19 -- ------------------------------------------------------
20 CREATE TABLE roles (
21     id                     integer generated by default as identity NOT NULL PRIMARY KEY,
22     name                   varchar(128) NOT NULL,
23     lft                    integer NOT NULL,
24     rgt                    integer NOT NULL,
25     description            varchar(512) NOT NULL
27 ALTER TABLE roles ADD CONSTRAINT roles_name_uq UNIQUE ( name );
29 -- ------------------------------------------------------
30 CREATE TABLE user_role_map (
31     user_id                integer NOT NULL,
32     role_id                integer NOT NULL
34 ALTER TABLE user_role_map ADD CONSTRAINT urmap_user_id_role_id_uq UNIQUE ( user_id,role_id );
35 ALTER TABLE user_role_map ADD CONSTRAINT urmap_role_id_fk FOREIGN KEY (role_id) REFERENCES roles (id);
36 ALTER TABLE user_role_map ADD CONSTRAINT urmap_user_id_fk FOREIGN KEY (user_id) REFERENCES userbase (id);
38 -- ------------------------------------------------------
39 CREATE TABLE authorities (
40     id                     integer generated by default as identity NOT NULL PRIMARY KEY,
41     name                   varchar(128) NOT NULL,
42     value                  varchar(128) NOT NULL
44 ALTER TABLE authorities ADD CONSTRAINT authorities_value_uq UNIQUE ( value );
46 -- ------------------------------------------------------
47 CREATE TABLE role_authority_map (
48     role_id                integer NOT NULL,
49     authority_id           integer NOT NULL
51 ALTER TABLE role_authority_map ADD CONSTRAINT ramap_role_id_authority_id_uq UNIQUE ( role_id,authority_id );
52 ALTER TABLE role_authority_map ADD CONSTRAINT ramap_role_id_fk FOREIGN KEY (role_id) REFERENCES roles (id);
53 ALTER TABLE role_authority_map ADD CONSTRAINT ramap_authority_id_fk FOREIGN KEY (authority_id) REFERENCES authorities (id);
55 -- ------------------------------------------------------
56 CREATE TABLE settings(
57   id                       integer generated by default as identity NOT NULL PRIMARY KEY,
58   name                     varchar(32) NOT NULL,
59   value                    varchar(32) NOT NULL,
60   sortindex                integer default 0 NOT NULL,
61   enabled                  smallint default 1 NOT NULL
63 ALTER TABLE settings ADD CONSTRAINT setting_name_sortindex_uq UNIQUE ( name,sortindex );
64 ALTER TABLE settings ADD CONSTRAINT setting_name_value_uq UNIQUE ( name,value );
66 -- ------------------------------------------------------
67 CREATE TABLE user_setting_map(
68   user_id                  integer NOT NULL,
69   setting_id               integer NOT NULL
71 ALTER TABLE user_setting_map ADD CONSTRAINT usmap_user_id_setting_id_uq UNIQUE ( user_id,setting_id );
72 ALTER TABLE user_setting_map ADD CONSTRAINT usmap_user_id_fk FOREIGN KEY (user_id) REFERENCES userbase (id);
73 ALTER TABLE user_setting_map ADD CONSTRAINT usmap_setting_id_fk FOREIGN KEY (setting_id) REFERENCES settings (id);
75 -- ------------------------------------------------------
76 CREATE TABLE tokens (
77     id                     integer generated by default as identity NOT NULL PRIMARY KEY,
78     value                  varchar(64) NOT NULL,
79     type                   varchar(16) NOT NULL,
80     expiration             timestamp NOT NULL,
81     user_id                integer NOT NULL
83 ALTER TABLE tokens ADD CONSTRAINT tokens_value_uq UNIQUE ( value );
84 ALTER TABLE tokens ADD CONSTRAINT tokens_user_id_fk FOREIGN KEY (user_id) REFERENCES userbase (id);