summaryrefslogtreecommitdiff
path: root/bin/addons/base/base.sql
diff options
context:
space:
mode:
Diffstat (limited to 'bin/addons/base/base.sql')
-rw-r--r--bin/addons/base/base.sql335
1 files changed, 335 insertions, 0 deletions
diff --git a/bin/addons/base/base.sql b/bin/addons/base/base.sql
new file mode 100644
index 00000000000..7d980cd0c85
--- /dev/null
+++ b/bin/addons/base/base.sql
@@ -0,0 +1,335 @@
+-------------------------------------------------------------------------
+-- Pure SQL
+-------------------------------------------------------------------------
+
+CREATE TABLE perm (
+ id serial NOT NULL,
+ level smallint DEFAULT 4 NOT NULL,
+ uid int default null,
+ gid int default null,
+ primary key(id)
+);
+insert into perm (id,uid,gid) values (1,1,1);
+
+CREATE TABLE inherit (
+ obj_type varchar(128) not null,
+ obj_id int not null,
+ inst_type varchar(128) not null,
+ inst_id int not null
+);
+
+-------------------------------------------------------------------------
+-- IR dictionary
+-------------------------------------------------------------------------
+
+create table ir_values
+(
+ id serial,
+ perm_id int references perm on delete set null,
+ name varchar(128) not null,
+ key varchar(128) not null,
+ key2 varchar(128) not null,
+ model varchar(128) not null,
+ value text,
+ meta text default NULL,
+ res_id integer default null,
+ primary key (id)
+);
+
+-------------------------------------------------------------------------
+-- Modules Description
+-------------------------------------------------------------------------
+
+CREATE TABLE ir_model (
+ id serial,
+ model varchar(64) DEFAULT ''::varchar NOT NULL,
+ name varchar(64),
+ info text,
+ primary key(id)
+);
+
+CREATE TABLE ir_model_fields (
+ id serial,
+ model varchar(64) DEFAULT ''::varchar NOT NULL,
+ model_id int references ir_model,
+ name varchar(64) DEFAULT ''::varchar NOT NULL,
+ relation varchar(64),
+ field_description varchar(256),
+ ttype varchar(64),
+ group_name varchar(64),
+ view_load boolean,
+ relate boolean default False,
+ primary key(id)
+);
+
+
+-------------------------------------------------------------------------
+-- Actions
+-------------------------------------------------------------------------
+
+CREATE TABLE ir_actions (
+ id serial NOT NULL,
+ perm_id int references perm on delete set null,
+ name varchar(64) DEFAULT ''::varchar NOT NULL,
+ "type" varchar(64) DEFAULT 'window'::varchar NOT NULL,
+ usage varchar(32) DEFAULT null,
+ primary key(id)
+);
+
+CREATE TABLE ir_act_window (
+ view_id integer,
+ res_model varchar(64),
+ view_type varchar(16),
+ "domain" varchar(127),
+ primary key(id)
+)
+INHERITS (ir_actions);
+
+CREATE TABLE ir_act_report_xml (
+ model varchar(64) NOT NULL,
+ report_name varchar(64) NOT NULL,
+ report_xsl varchar(64),
+ report_xml varchar(64),
+ auto boolean default true
+)
+INHERITS (ir_actions);
+
+create table ir_act_report_custom (
+ report_id int
+-- report_id int references ir_report_custom
+)
+INHERITS (ir_actions);
+
+CREATE TABLE ir_act_group (
+ exec_type varchar(64) DEFAULT 'serial'::varchar NOT NULL
+)
+INHERITS (ir_actions);
+
+CREATE TABLE ir_act_group_link (
+ aid integer NOT NULL,
+ gid integer NOT NULL
+);
+
+CREATE TABLE ir_act_execute (
+ func_name varchar(64) NOT NULL,
+ func_arg varchar(64)
+)
+INHERITS (ir_actions);
+
+CREATE TABLE ir_act_wizard (
+ wiz_name varchar(64) NOT NULL
+)
+INHERITS (ir_actions);
+
+CREATE TABLE ir_ui_view (
+ id serial NOT NULL,
+ perm_id int references perm on delete set null,
+ name varchar(64) DEFAULT ''::varchar NOT NULL,
+ model varchar(64) DEFAULT ''::varchar NOT NULL,
+ "type" varchar(64) DEFAULT 'form'::varchar NOT NULL,
+ arch text NOT NULL,
+ field_parent varchar(64),
+ priority integer DEFAULT 5 NOT NULL,
+ primary key(id),
+ CONSTRAINT ir_ui_view_type CHECK (((("type")::text = ('form'::varchar)::text) OR (("type")::text = ('tree'::varchar)::text)))
+);
+
+CREATE TABLE ir_ui_menu (
+ id serial NOT NULL,
+ perm_id int references perm on delete set null,
+ parent_id int references ir_ui_menu on delete set null,
+ name varchar(64) DEFAULT ''::varchar NOT NULL,
+ icon varchar(64) DEFAULT ''::varchar,
+ primary key (id)
+);
+
+select setval('ir_ui_menu_id_seq', 2);
+
+---------------------------------
+-- Res users
+---------------------------------
+
+-- level:
+-- 0 RESTRICT TO USER
+-- 1 RESTRICT TO GROUP
+-- 2 PUBLIC
+
+CREATE TABLE res_users (
+ id serial NOT NULL,
+ perm_id int references perm on delete set null,
+ name varchar(64) not null,
+ active boolean default True,
+ login varchar(64) NOT NULL UNIQUE,
+ password varchar(32) default null,
+ perm_default int references perm on delete set null,
+-- action_id int references ir_act_window on delete set null,
+ action_id int,
+ primary key(id)
+);
+alter table res_users add constraint res_users_login_uniq unique (login);
+
+insert into res_users (id,login,password,name,action_id,perm_id,active) values (1,'root',NULL,'Administrator',NULL,1,False);
+select setval('res_users_id_seq', 2);
+
+CREATE TABLE res_groups (
+ id serial NOT NULL,
+ perm_id int references perm on delete set null,
+ name varchar(32) NOT NULL,
+ primary key(id)
+);
+
+create table res_roles (
+ id serial NOT NULL,
+ perm_id int references perm on delete set null,
+ parent_id int references res_roles on delete set null,
+ name varchar(32) NOT NULL,
+ primary key(id)
+);
+
+CREATE TABLE res_roles_users_rel (
+ uid integer NOT NULL references res_users on delete cascade,
+ rid integer NOT NULL references res_roles on delete cascade
+);
+
+CREATE TABLE res_groups_users_rel (
+ uid integer NOT NULL references res_users on delete cascade,
+ gid integer NOT NULL references res_groups on delete cascade
+);
+
+---------------------------------
+-- Workflows
+---------------------------------
+
+create table wkf
+(
+ id serial,
+ perm_id int references perm on delete set null,
+ name varchar(64),
+ osv varchar(64),
+ on_create bool default False,
+ primary key(id)
+);
+
+create table wkf_activity
+(
+ id serial,
+ perm_id int references perm on delete set null,
+ wkf_id int references wkf on delete cascade,
+ subflow_id int references wkf on delete set null,
+ split_mode varchar(3) default 'XOR',
+ join_mode varchar(3) default 'XOR',
+ kind varchar(16) not null default 'dummy',
+ name varchar(64),
+ signal_send varchar(32) default null,
+ flow_start boolean default False,
+ flow_stop boolean default False,
+ action varchar(64) default null,
+ primary key(id)
+);
+
+create table wkf_transition
+(
+ id serial,
+ perm_id int references perm on delete set null,
+ act_from int references wkf_activity on delete cascade,
+ act_to int references wkf_activity on delete cascade,
+ condition varchar(128) default NULL,
+
+ trigger_type varchar(128) default NULL,
+ trigger_expr_id varchar(128) default NULL,
+
+ signal varchar(64) default null,
+ role_id int references res_roles on delete set null,
+
+ primary key(id)
+);
+
+create table wkf_instance
+(
+ id serial,
+ wkf_id int references wkf on delete set null,
+ uid int default null,
+ res_id int not null,
+ res_type varchar(64) not null,
+ state varchar(32) not null default 'active',
+ primary key(id)
+);
+
+create table wkf_workitem
+(
+ id serial,
+ act_id int not null references wkf_activity on delete cascade,
+ inst_id int not null references wkf_instance on delete cascade,
+ subflow_id int references wkf_instance on delete cascade,
+ state varchar(64) default 'blocked',
+ primary key(id)
+);
+
+create table wkf_witm_trans
+(
+ trans_id int not null references wkf_transition on delete cascade,
+ inst_id int not null references wkf_instance on delete cascade
+);
+
+create table wkf_logs
+(
+ id serial,
+ res_type varchar(128) not null,
+ res_id int not null,
+ uid int references res_users on delete set null,
+ act_id int references wkf_activity on delete set null,
+ time time not null,
+ info varchar(128) default NULL,
+ primary key(id)
+);
+
+---------------------------------
+-- Modules
+---------------------------------
+
+CREATE TABLE ir_module_category (
+ id serial NOT NULL,
+ perm_id integer,
+ create_uid integer references res_users on delete set null,
+ create_date timestamp without time zone,
+ write_date timestamp without time zone,
+ write_uid integer references res_users on delete set null,
+ parent_id integer REFERENCES ir_module_category ON DELETE SET NULL,
+ name character varying(128) NOT NULL,
+ primary key(id)
+);
+
+
+CREATE TABLE ir_module_module (
+ id serial NOT NULL,
+ perm_id integer,
+ create_uid integer references res_users on delete set null,
+ create_date timestamp without time zone,
+ write_date timestamp without time zone,
+ write_uid integer references res_users on delete set null,
+ website character varying(256),
+ name character varying(128) NOT NULL,
+ author character varying(128),
+ url character varying(128),
+ state character varying(16),
+ latest_version character varying(64),
+ shortdesc character varying(256),
+ category_id integer REFERENCES ir_module_category ON DELETE SET NULL,
+ description text,
+ demo boolean default False,
+ primary key(id)
+);
+
+CREATE TABLE ir_module_module_dependency (
+ id serial NOT NULL,
+ perm_id integer,
+ create_uid integer references res_users on delete set null,
+ create_date timestamp without time zone,
+ write_date timestamp without time zone,
+ write_uid integer references res_users on delete set null,
+ name character varying(128),
+ version_pattern character varying(128) default NULL,
+ module_id integer REFERENCES ir_module_module ON DELETE cascade,
+ primary key(id)
+);
+