mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-22 14:41:29 +01:00
417 lines
9.7 KiB
Plaintext
Executable File
417 lines
9.7 KiB
Plaintext
Executable File
------------------------------------------------------------------------------
|
|
-- Create_Tables Script for Oracle --
|
|
-- not yet completed and not yet fully working. The trigger functions still --
|
|
-- need to be built and I couldn't figure out yet how to do this... --
|
|
------------------------------------------------------------------------------
|
|
|
|
-- $Id$
|
|
|
|
|
|
------------------
|
|
-- APPLICATIONS --
|
|
------------------
|
|
|
|
connect system/system;
|
|
|
|
CREATE TABLESPACE phpgw
|
|
DATAFILE 'diskb:tablespace_phpgw.dat' SIZE 500K REUSE
|
|
AUTOEXTEND ON NEXT 500K MAXSIZE 10M;
|
|
|
|
CREATE USER phpgw IDENTIFIED BY phpgw
|
|
DEFAULT TABLESPACE phpgw
|
|
QUOTA 10M ON phpgw;
|
|
|
|
GRANT connect TO phpgw;
|
|
|
|
GRANT dba TO phpgw;
|
|
|
|
connect phpgw/phpgw;
|
|
|
|
CREATE TABLE applications (
|
|
app_name varchar2(25) NOT NULL,
|
|
app_title varchar2(50),
|
|
app_enabled number
|
|
app_order int,
|
|
app_tables varchar2(255),
|
|
|
|
);
|
|
|
|
create unique index applications_app_name
|
|
on applications (app_name);
|
|
|
|
insert into applications (app_name, app_title, app_enabled, app_order, app_tables) values ('admin', 'Administration', 1, 1, NULL);
|
|
insert into applications (app_name, app_title, app_enabled, app_order, app_tables) values ('tts', 'Trouble Ticket System', 0, 2, NULL);
|
|
insert into applications (app_name, app_title, app_enabled, app_order, app_tables) values ('inv', 'Inventory', 0, 3, NULL);
|
|
insert into applications (app_name, app_title, app_enabled, app_order, app_tables) values ('chat', 'Chat', 0, 4, NULL);
|
|
insert into applications (app_name, app_title, app_enabled, app_order, app_tables) values ('headlines', 'Headlines', 0, 5, NULL);
|
|
insert into applications (app_name, app_title, app_enabled, app_order, app_tables) values ('filemanager', 'File manager', 1, 6, NULL);
|
|
insert into applications (app_name, app_title, app_enabled, app_order, app_tables) values ('addressbook', 'Address Book', 1, 7, 'addressbook');
|
|
insert into applications (app_name, app_title, app_enabled, app_order, app_tables) values ('todo', 'ToDo List', 1, 8, 'todo');
|
|
insert into applications (app_name, app_title, app_enabled, app_order, app_tables) values ('calendar', 'Calendar', 1, 9, 'webcal_entry,webcal_entry_users,webcal_entry_groups,webcal_repeats');
|
|
insert into applications (app_name, app_title, app_enabled, app_order, app_tables) values ('email', 'Email', 1, 10,NULL);
|
|
insert into applications (app_name, app_title, app_enabled, app_order, app_tables) values ('nntp', 'NNTP', 1, 11, NULL);
|
|
insert into applications (app_name, app_title, app_enabled, app_order, app_tables) values ('cron_apps', 'cron_apps', 0, 0, NULL);
|
|
|
|
--------------
|
|
-- ACCOUNTS --
|
|
--------------
|
|
|
|
CREATE TABLE accounts (
|
|
con number NOT NULL,
|
|
loginid varchar2(25) NOT NULL,
|
|
passwd varchar2(32) NOT NULL,
|
|
firstname varchar2(50),
|
|
lastname varchar2(50),
|
|
permissions varchar2(255),
|
|
groups varchar2(30),
|
|
lastlogin number(11),
|
|
lastloginfrom varchar2(255),
|
|
lastpasswd_change number(11),
|
|
status varchar2(40) DEFAULT 'A' check (status in ('A','L')) NOT NULL,
|
|
PRIMARY KEY (con)
|
|
);
|
|
|
|
create unique index accounts_loginid
|
|
on accounts (loginid);
|
|
|
|
create sequence accounts_seq
|
|
increment by 1
|
|
start with 0
|
|
maxvalue 999999999
|
|
minvalue 0
|
|
nocycle
|
|
nocache;
|
|
|
|
create trigger accounts_bri
|
|
before insert on accounts
|
|
for each row
|
|
begin
|
|
select accounts_seq.nextval into :new.con from dual;
|
|
end;
|
|
/
|
|
|
|
insert into accounts (loginid,passwd,firstname,lastname,permissions,groups,
|
|
status) values ('demo','81dc9bdb52d04dc20036dbd8313ed055','Demo','Account',
|
|
':admin:email:todo:addressbook:calendar:hr:',',1,','A');
|
|
|
|
------------
|
|
-- GROUPS --
|
|
------------
|
|
|
|
create table groups (
|
|
group_id number NOT NULL,
|
|
group_name varchar2(255),
|
|
group_apps varchar2(255),
|
|
primary key(group_id)
|
|
);
|
|
|
|
create sequence groups_seq
|
|
increment by 1
|
|
start with 0
|
|
maxvalue 999999999
|
|
minvalue 0
|
|
nocycle
|
|
nocache;
|
|
|
|
create trigger groups_bri
|
|
before insert on groups
|
|
for each row
|
|
begin
|
|
select groups_seq.nextval into :new.group_id from dual;
|
|
end;
|
|
/
|
|
|
|
insert into groups (group_name) values ('Default');
|
|
|
|
-----------------
|
|
-- PREFERENCES --
|
|
-----------------
|
|
|
|
CREATE TABLE preferences (
|
|
owner varchar2(20),
|
|
name varchar2(50),
|
|
value varchar2(50)
|
|
);
|
|
|
|
insert into preferences values ('demo','maxmatchs','10');
|
|
insert into preferences values ('demo','mainscreen_showbirthdays','True');
|
|
insert into preferences values ('demo','mainscreen_showevents','True');
|
|
insert into preferences values ('demo','timeformat','12');
|
|
insert into preferences values ('demo','dateformat','m/d/Y');
|
|
insert into preferences values ('demo','theme','default');
|
|
insert into preferences values ('demo','tz_offset','0');
|
|
|
|
--------------
|
|
-- SESSIONS --
|
|
--------------
|
|
|
|
CREATE TABLE sessions (
|
|
sessionid varchar2(255) NOT NULL,
|
|
loginid varchar2(20),
|
|
passwd varchar2(255),
|
|
ip varchar2(255),
|
|
logintime number(11),
|
|
dla number(11)
|
|
);
|
|
|
|
create unique index sessions_sessionid
|
|
on sessions (sessionid);
|
|
|
|
------------------
|
|
-- APP_SESSIONS --
|
|
------------------
|
|
|
|
CREATE TABLE app_sessions (
|
|
sessionid varchar2(255) NOT NULL,
|
|
loginid varchar2(20),
|
|
app varchar2(20),
|
|
content varchar2(2000)
|
|
);
|
|
|
|
----------------
|
|
-- ACCESS_LOG --
|
|
----------------
|
|
|
|
create table access_log (
|
|
sessionid varchar2(30),
|
|
loginid varchar2(30),
|
|
ip varchar2(30),
|
|
li number(11),
|
|
lo number(11)
|
|
);
|
|
|
|
--------------
|
|
-- PROFILES --
|
|
--------------
|
|
|
|
CREATE TABLE profiles (
|
|
con number NOT NULL,
|
|
owner varchar2(20),
|
|
title varchar2(255),
|
|
phone_number varchar2(255),
|
|
comments varchar2(4000),
|
|
picture_format varchar2(255),
|
|
picture blob,
|
|
PRIMARY KEY (con)
|
|
);
|
|
|
|
create sequence profiles_seq
|
|
increment by 1
|
|
start with 0
|
|
maxvalue 999999999
|
|
minvalue 0
|
|
nocycle
|
|
nocache;
|
|
|
|
create trigger profiles_bri
|
|
before insert on profiles
|
|
for each row
|
|
begin
|
|
select profiles_seq.nextval into :new.con from dual;
|
|
end;
|
|
/
|
|
|
|
-----------------
|
|
-- ADDRESSBOOK --
|
|
-----------------
|
|
|
|
CREATE TABLE addressbook (
|
|
ab_id number(11) DEFAULT '0' NOT NULL , --auto-increment
|
|
ab_owner varchar2(25),
|
|
ab_addr_access varchar2(10),
|
|
ab_firstname varchar2(255),
|
|
ab_lastname varchar2(255),
|
|
ab_email varchar2(255),
|
|
ab_hphone varchar2(255),
|
|
ab_wphone varchar2(255),
|
|
ab_fax varchar2(255),
|
|
ab_pager varchar2(255),
|
|
ab_mphone varchar2(255),
|
|
ab_ophone varchar2(255),
|
|
ab_street varchar2(255),
|
|
ab_city varchar2(255),
|
|
ab_state varchar2(255),
|
|
ab_zip varchar2(255),
|
|
ab_bday varchar2(255),
|
|
ab_notes varchar2(4000),
|
|
ab_company varchar2(255),
|
|
PRIMARY KEY (ab_id)
|
|
);
|
|
|
|
create sequence addressbook_seq
|
|
increment by 1
|
|
start with 0
|
|
maxvalue 999999999
|
|
minvalue 0
|
|
nocycle
|
|
nocache;
|
|
|
|
create trigger addressbook_bri
|
|
before insert on addressbook
|
|
for each row
|
|
begin
|
|
select addressbook_seq.nextval into :new.con from dual;
|
|
end;
|
|
/
|
|
|
|
----------
|
|
-- TODO --
|
|
----------
|
|
|
|
CREATE TABLE todo (
|
|
todo_id number NOT NULL,
|
|
todo_owner varchar2(25),
|
|
todo_access varchar2(10),
|
|
todo_des varchar2(4000),
|
|
todo_pri number(11),
|
|
todo_status number(11),
|
|
todo_datecreated number(11),
|
|
todo_datedue number(11),
|
|
PRIMARY KEY (todo_id)
|
|
);
|
|
|
|
create sequence todo_seq
|
|
increment by 1
|
|
start with 0
|
|
maxvalue 999999999
|
|
minvalue 0
|
|
nocycle
|
|
nocache;
|
|
|
|
create trigger todo_bri
|
|
before insert on todo
|
|
for each row
|
|
begin
|
|
select todo_seq.nextval into :new.con from dual;
|
|
end;
|
|
/
|
|
|
|
------------------
|
|
-- WEBCAL_ENTRY --
|
|
------------------
|
|
|
|
CREATE TABLE webcal_entry (
|
|
cal_id number NOT NULL,
|
|
cal_group_id number(11),
|
|
cal_create_by varchar2(25) NOT NULL,
|
|
cal_date number(11) DEFAULT '0' NOT NULL,
|
|
cal_time number(11),
|
|
cal_mod_date number(11),
|
|
cal_mod_time number(11),
|
|
cal_duration number(11) DEFAULT '0' NOT NULL,
|
|
cal_priority number(11) DEFAULT '2',
|
|
cal_type varchar2(10),
|
|
cal_access char(10),
|
|
cal_name varchar2(80) NOT NULL,
|
|
cal_description varchar2(4000),
|
|
PRIMARY KEY (cal_id)
|
|
);
|
|
|
|
create sequence webcal_entry_seq
|
|
increment by 1
|
|
start with 0
|
|
maxvalue 999999999
|
|
minvalue 0
|
|
nocycle
|
|
nocache;
|
|
|
|
create trigger webcal_entry_bri
|
|
before insert on webcal_entry
|
|
for each row
|
|
begin
|
|
select webcal_entry_seq.nextval into :new.cal_id from dual;
|
|
end;
|
|
/
|
|
|
|
--------------------------
|
|
-- WEBCAL_ENTRY_REPEATS --
|
|
--------------------------
|
|
|
|
CREATE TABLE webcal_entry_repeats (
|
|
cal_id number NOT NULL,
|
|
cal_type varchar2(40) DEFAULT 'daily' check (cal_type in ('daily','weekly','monthlyByDay','monthlyByDate','yearly')) NOT NULL,
|
|
cal_end number(11),
|
|
cal_frequency number(11) DEFAULT '1',
|
|
cal_days char(7)
|
|
);
|
|
|
|
------------------------
|
|
-- WEBCAL_ENTRY_USERS --
|
|
------------------------
|
|
|
|
CREATE TABLE webcal_entry_user (
|
|
cal_id number NOT NULL,
|
|
cal_login varchar2(25) NOT NULL,
|
|
cal_status char(1) DEFAULT 'A',
|
|
PRIMARY KEY (cal_id, cal_login)
|
|
);
|
|
|
|
-------------------------
|
|
-- WEBCAL_ENTRY_GROUPS --
|
|
-------------------------
|
|
|
|
create table webcal_entry_groups (
|
|
cal_id number not null,
|
|
groups varchar2(255)
|
|
);
|
|
|
|
----------------
|
|
-- NEWSGROUPS --
|
|
----------------
|
|
|
|
CREATE TABLE newsgroups (
|
|
con number NOT NULL,
|
|
name varchar2(255) NOT NULL,
|
|
messagecount number(11) NOT NULL,
|
|
lastmessage number(11) NOT NULL,
|
|
active char DEFAULT 'N' NOT NULL,
|
|
lastread number(11),
|
|
PRIMARY KEY (con)
|
|
);
|
|
|
|
create unique index newsgroups_name
|
|
on newsgroups (name);
|
|
|
|
create sequence newsgroups_seq
|
|
increment by 1
|
|
start with 0
|
|
maxvalue 999999999
|
|
minvalue 0
|
|
nocycle
|
|
nocache;
|
|
|
|
create trigger newsgroups_bri
|
|
before insert on newsgroups
|
|
for each row
|
|
begin
|
|
select newsgroups_seq.nextval into :new.con from dual;
|
|
end;
|
|
/
|
|
|
|
---------------------
|
|
-- USERS_NEWSGOUPS --
|
|
---------------------
|
|
|
|
CREATE TABLE users_newsgroups (
|
|
owner number NOT NULL,
|
|
newsgroup number NOT NULL
|
|
);
|
|
|
|
----------
|
|
-- LANG --
|
|
----------
|
|
|
|
CREATE TABLE lang (
|
|
message_id varchar2(150) NOT NULL,
|
|
app_name varchar2(100) DEFAULT 'common' NOT NULL,
|
|
lang varchar2(5) NOT NULL,
|
|
content varchar2(4000) NOT NULL,
|
|
PRIMARY KEY (message_id,app_name,lang)
|
|
);
|
|
|
|
connect system/system;
|
|
|
|
REVOKE dba FROM phpgw;
|
|
|
|
commit;
|