-- Last edited: Antonio J. Garcia 2007-04-21
-- Schema for /modules/user
BEGIN;
-- ==============================================================
-- Table: login
-- ==============================================================
create table login
(
login_id INT4 not null,
usr_id INT4 null,
date_time TIMESTAMP null,
remote_ip VARCHAR(16) null,
constraint PK_LOGIN primary key (login_id)
);
-- ==============================================================
-- sequence login_seq
-- ==============================================================
create sequence login_seq;
-- ==============================================================
-- Index: usr_login_fk
-- ==============================================================
create index usr_login_fk on login
(
usr_id
);
-- ==============================================================
-- Table: preference
-- ==============================================================
create table preference
(
preference_id INT4 not null,
name VARCHAR(128) null,
default_value VARCHAR(128) null,
constraint PK_PREFERENCE primary key (preference_id)
);
-- ==============================================================
-- sequence preference_seq
-- ==============================================================
create sequence preference_seq;
-- ==============================================================
-- Table: organisation
-- ==============================================================
create table organisation (
organisation_id int4 NOT NULL default 0,
parent_id int4 NOT NULL default 0,
root_id int4 NOT NULL default 0,
left_id int4 NOT NULL default 0,
right_id int4 NOT NULL default 0,
order_id int4 NOT NULL default 0,
level_id int4 NOT NULL default 0,
role_id int4 NOT NULL default 0,
organisation_type_id int4 NOT NULL default 0,
name varchar(128) default NULL,
description text,
addr_1 varchar(128) NOT NULL default '',
addr_2 varchar(128) default NULL,
addr_3 varchar(128) default NULL,
city varchar(32) NOT NULL default '',
region varchar(32) default NULL,
country char(2) default NULL,
post_code varchar(16) default NULL,
telephone varchar(32) default NULL,
website varchar(128) default NULL,
email varchar(128) default NULL,
date_created timestamp default NULL,
created_by int4 default NULL,
last_updated timestamp default NULL,
updated_by int4 default NULL,
constraint PK_ORGANISATION_ID primary key (organisation_id)
);
-- ==============================================================
-- sequence organisation_seq
-- ==============================================================
create sequence organisation_seq;
-- ==============================================================
-- Table: organisation_type
-- ==============================================================
create table organisation_type (
organisation_type_id int4 NOT NULL default 0,
name varchar(64) default NULL,
primary key (organisation_type_id)
);
-- ==============================================================
-- sequence organisation_type_seq
-- ==============================================================
create sequence organisation_type_seq;
-- ==============================================================
-- Table: permission
-- ==============================================================
create table permission (
permission_id int4 NOT NULL default 0,
name varchar(255) default NULL,
description text,
module_id int4 NOT NULL default 0,
constraint pk_permission_id primary key (permission_id)
);
-- ==============================================================
-- sequence permission_seq
-- ==============================================================
create sequence permission_seq;
-- ==============================================================
-- Index: perm_name
-- ==============================================================
create unique index perm_name ON permission (
name
);
-- ==============================================================
-- Table: role
-- ==============================================================
create table role (
role_id int NOT NULL default -1,
name varchar(255) default NULL,
description text,
date_created timestamp default NULL,
created_by int4 default NULL,
last_updated timestamp default NULL,
updated_by int4 default NULL,
CONSTRAINT PK_ROLE_ID PRIMARY KEY (role_id)
);
-- ==============================================================
-- sequence role_seq
-- ==============================================================
create sequence role_seq;
-- ==============================================================
-- Table: role_permission
-- ==============================================================
create table role_permission (
role_permission_id int4 NOT NULL default 0,
role_id int4 NOT NULL default 0,
permission_id int4 NOT NULL default 0,
CONSTRAINT PK_ROLE_PERMISSION_ID PRIMARY KEY (role_permission_id)
);
-- ==============================================================
-- sequence role_permission_seq
-- ==============================================================
create sequence role_permission_seq;
-- ==============================================================
-- Index: permission_id
-- ==============================================================
create index permission_id on role_permission
(
permission_id
);
-- ==============================================================
-- Index: role_id
-- ==============================================================
create index role_id on role_permission
(
role_id
);
-- ==============================================================
-- Table: user_preference
-- ==============================================================
create table user_preference
(
user_preference_id INT4 not null,
usr_id INT4 not null default 0,
preference_id INT4 not null,
value VARCHAR(128) null,
constraint PK_USER_PREFERENCE primary key (user_preference_id)
);
-- ==============================================================
-- sequence user_preference_seq
-- ==============================================================
create sequence user_preference_seq;
-- ==============================================================
-- Index: usr_user_preferences_fk
-- ==============================================================
create index usr_user_preferences_fk on user_preference
(
usr_id
);
-- ==============================================================
-- Index: preference_user_preference_fk
-- ==============================================================
create index preference_user_preference_fk on user_preference
(
preference_id
);
-- ==============================================================
-- Table: org_preference
-- ==============================================================
create table org_preference (
org_preference_id INT4 not null,
organisation_id INT4 not null default 0,
preference_id INT4 not null,
value VARCHAR(128) null,
constraint PK_ORG_PREFERENCE primary key (org_preference_id)
);
-- ==============================================================
-- sequence org_preference_seq
-- ==============================================================
create sequence org_preference_seq;
-- ==============================================================
-- Index: organisation_org_preference_fk
-- ==============================================================
create index organisation_org_preference_fk on org_preference
(
organisation_id
);
-- ==============================================================
-- Index: preference_org_preference_fk
-- ==============================================================
create index preference_org_preference_fk on org_preference
(
preference_id
);
-- ==============================================================
-- Table: usr
-- ==============================================================
create table usr (
usr_id INT4 not null,
organisation_id INT4 null,
role_id INT4 not null,
username VARCHAR(64) null,
passwd VARCHAR(32) null,
first_name VARCHAR(128) null,
last_name VARCHAR(128) null,
telephone VARCHAR(16) null,
mobile VARCHAR(16) null,
email VARCHAR(128) null,
addr_1 VARCHAR(128) null,
addr_2 VARCHAR(128) null,
addr_3 VARCHAR(128) null,
city VARCHAR(64) null,
region VARCHAR(32) null,
country CHAR(2) null,
post_code VARCHAR(16) null,
is_email_public INT2 null,
is_acct_active INT2 null,
security_question INT2 null,
security_answer VARCHAR(128) null,
date_created TIMESTAMP null,
created_by INT4 null,
last_updated TIMESTAMP null,
updated_by INT4 null,
constraint PK_USR primary key (usr_id)
);
-- ==============================================================
-- sequence usr_seq
-- ==============================================================
create sequence usr_seq;
-- ==============================================================
-- Index: usr_email
-- ==============================================================
/* we'll see if dbdo fixes this problem */
-- create unique index usr_email ON usr (
-- email
-- );
-- ==============================================================
-- Index: usr_username
-- ==============================================================
-- create unique index usr_username ON usr (
-- username
-- );
-- ==============================================================
-- Table: user_permission
-- ==============================================================
create table user_permission (
user_permission_id int4 NOT NULL default 0,
usr_id int4 NOT NULL default 0,
permission_id int4 NOT NULL default 0,
CONSTRAINT PK_USER_PERMISSION_ID PRIMARY KEY (user_permission_id)
);
-- ==============================================================
-- sequence user_permission_seq
-- ==============================================================
create sequence user_permission_seq;
-- ==============================================================
-- Index: usr_id
-- ==============================================================
create index usr_id on user_permission
(
usr_id
);
-- ==============================================================
-- Index: user_permission_id
-- ==============================================================
create index user_permission_id on user_permission
(
permission_id
);
--================================================================
-- Table: user_cookie
--================================================================
CREATE TABLE user_cookie (
usr_id integer NOT NULL,
cookie_name varchar(32) NOT NULL,
login_time timestamp NOT NULL
);
-- ==============================================================
-- Index: user_cookie_usr_id
-- ==============================================================
create index user_cookie_usr_id on user_cookie
(
usr_id
);
-- ==============================================================
-- Index: user_cookie_cookie_name
-- ==============================================================
create index user_cookie_cookie_name on user_cookie
(
cookie_name
);
COMMIT;
Copyright 2K16 - 2K18 Indonesian Hacker Rulez