Launchpad automatic translations update.
[odoo/odoo.git] / bin / addons / base / base.sql
1 -------------------------------------------------------------------------
2 -- Pure SQL
3 -------------------------------------------------------------------------
4
5 -------------------------------------------------------------------------
6 -- IR dictionary
7 -------------------------------------------------------------------------
8
9 create table ir_values
10 (
11     id serial,
12     name varchar(128) not null,
13     key varchar(128) not null,
14     key2 varchar(256) not null,
15     model varchar(128) not null,
16     value text,
17     meta text default NULL,
18     res_id integer default null,
19     primary key (id)
20 );
21
22 -------------------------------------------------------------------------
23 -- Modules Description
24 -------------------------------------------------------------------------
25
26 CREATE TABLE ir_model (
27   id serial,
28   model varchar(64) DEFAULT ''::varchar NOT NULL,
29   name varchar(64),
30   state varchar(16),
31   info text,
32   primary key(id)
33 );
34
35 CREATE TABLE ir_model_fields (
36   id serial,
37   model varchar(64) DEFAULT ''::varchar NOT NULL,
38   model_id int references ir_model on delete cascade,
39   name varchar(64) DEFAULT ''::varchar NOT NULL,
40   relation varchar(64),
41   select_level varchar(4),
42   field_description varchar(256),
43   ttype varchar(64),
44   state varchar(64) default 'base',
45   view_load boolean,
46   relate boolean default False,
47   relation_field varchar(128),
48   primary key(id)
49 );
50
51
52 -------------------------------------------------------------------------
53 -- Actions
54 -------------------------------------------------------------------------
55
56 CREATE TABLE ir_actions (
57     id serial NOT NULL,
58     name varchar(64) DEFAULT ''::varchar NOT NULL,
59     "type" varchar(32) DEFAULT 'window'::varchar NOT NULL,
60     usage varchar(32) DEFAULT null,
61     primary key(id)
62 );
63
64 CREATE TABLE ir_act_window (
65     view_id integer,
66     res_model varchar(64),
67     view_type varchar(16),
68     "domain" varchar(250),
69     primary key(id)
70 )
71 INHERITS (ir_actions);
72
73 CREATE TABLE ir_act_report_xml (
74     model varchar(64) NOT NULL,
75     report_name varchar(64) NOT NULL,
76     report_xsl varchar(256),
77     report_xml varchar(256),
78     auto boolean default true,
79     primary key(id)
80 )
81 INHERITS (ir_actions);
82
83 create table ir_act_report_custom (
84     report_id int,
85 --  report_id int references ir_report_custom
86     primary key(id)
87 )
88 INHERITS (ir_actions);
89
90 CREATE TABLE ir_act_wizard (
91     wiz_name varchar(64) NOT NULL,
92     primary key(id)
93 )
94 INHERITS (ir_actions);
95
96 CREATE TABLE ir_act_url (
97     url text NOT NULL,
98     target varchar(64) NOT NULL,
99     primary key(id)
100 )
101 INHERITS (ir_actions);
102
103 CREATE TABLE ir_act_server (
104     primary key(id)
105 )
106 INHERITS (ir_actions);
107
108
109 CREATE TABLE ir_ui_view (
110     id serial NOT NULL,
111     name varchar(64) DEFAULT ''::varchar NOT NULL,
112     model varchar(64) DEFAULT ''::varchar NOT NULL,
113     "type" varchar(64) DEFAULT 'form'::varchar NOT NULL,
114     arch text NOT NULL,
115     field_parent varchar(64),
116     priority integer DEFAULT 5 NOT NULL,
117     primary key(id)
118 );
119
120 CREATE TABLE ir_ui_menu (
121     id serial NOT NULL,
122     parent_id int references ir_ui_menu on delete set null,
123     name varchar(64) DEFAULT ''::varchar NOT NULL,
124     icon varchar(64) DEFAULT ''::varchar,
125     primary key (id)
126 );
127
128 select setval('ir_ui_menu_id_seq', 2);
129
130 ---------------------------------
131 -- Res users
132 ---------------------------------
133
134 -- level:
135 --   0  RESTRICT TO USER
136 --   1  RESTRICT TO GROUP
137 --   2  PUBLIC
138
139 CREATE TABLE res_users (
140     id serial NOT NULL,
141     name varchar(64) not null,
142     active boolean default True,
143     login varchar(64) NOT NULL UNIQUE,
144     password varchar(64) default null,
145     email varchar(64) default null,
146     context_tz varchar(64) default null,
147     signature text,
148     context_lang varchar(64) default '',
149     -- No FK references below, will be added later by ORM
150     -- (when the destination rows exist)
151     action_id int,
152     company_id int,
153     primary key(id)
154 );
155 alter table res_users add constraint res_users_login_uniq unique (login);
156
157 CREATE TABLE res_groups (
158     id serial NOT NULL,
159     name varchar(64) NOT NULL,
160     primary key(id)
161 );
162
163 create table res_roles (
164     id serial NOT NULL,
165     parent_id int references res_roles on delete set null,
166     name varchar(64) NOT NULL,
167     primary key(id)
168 );
169
170 CREATE TABLE res_roles_users_rel (
171     uid integer NOT NULL references res_users on delete cascade,
172     rid integer NOT NULL references res_roles on delete cascade
173 );
174 create index res_roles_users_rel_uid_idx on res_roles_users_rel (uid);
175 create index res_roles_users_rel_rid_idx on res_roles_users_rel (rid);
176
177 CREATE TABLE res_groups_users_rel (
178     uid integer NOT NULL references res_users on delete cascade,
179     gid integer NOT NULL references res_groups on delete cascade
180 );
181
182 create index res_groups_users_rel_uid_idx on res_groups_users_rel (uid);
183 create index res_groups_users_rel_gid_idx on res_groups_users_rel (gid);
184
185
186 ---------------------------------
187 -- Workflows
188 ---------------------------------
189
190 create table wkf
191 (
192     id serial,
193     name varchar(64),
194     osv varchar(64),
195     on_create bool default False,
196     primary key(id)
197 );
198
199 create table wkf_activity
200 (
201     id serial,
202     wkf_id int references wkf on delete cascade,
203     subflow_id int references wkf on delete set null,
204     split_mode varchar(3) default 'XOR',
205     join_mode varchar(3) default 'XOR',
206     kind varchar(16) not null default 'dummy',
207     name varchar(64),
208     signal_send varchar(32) default null,
209     flow_start boolean default False,
210     flow_stop boolean default False,
211     action text default null,
212     primary key(id)
213 );
214
215 create table wkf_transition
216 (
217     id serial,
218     act_from int references wkf_activity on delete cascade,
219     act_to int references wkf_activity on delete cascade,
220     condition varchar(128) default NULL,
221
222     trigger_type varchar(128) default NULL,
223     trigger_expr_id varchar(128) default NULL,
224
225     signal varchar(64) default null,
226     role_id int references res_roles on delete set null,
227
228     primary key(id)
229 );
230
231 create table wkf_instance
232 (
233     id serial,
234     wkf_id int references wkf on delete restrict,
235     uid int default null,
236     res_id int not null,
237     res_type varchar(64) not null,
238     state varchar(32) not null default 'active',
239     primary key(id)
240 );
241
242 create table wkf_workitem
243 (
244     id serial,
245     act_id int not null references wkf_activity on delete cascade,
246     inst_id int not null references wkf_instance on delete cascade,
247     subflow_id int references wkf_instance on delete cascade,
248     state varchar(64) default 'blocked',
249     primary key(id)
250 );
251
252 create table wkf_witm_trans
253 (
254     trans_id int not null references wkf_transition on delete cascade,
255     inst_id int not null references wkf_instance on delete cascade
256 );
257
258 create index wkf_witm_trans_inst_idx on wkf_witm_trans (inst_id);
259
260 create table wkf_logs
261 (
262     id serial,
263     res_type varchar(128) not null,
264     res_id int not null,
265     uid int references res_users on delete set null,
266     act_id int references wkf_activity on delete set null,
267     time time not null,
268     info varchar(128) default NULL,
269     primary key(id)
270 );
271
272 ---------------------------------
273 -- Modules
274 ---------------------------------
275
276 CREATE TABLE ir_module_category (
277     id serial NOT NULL,
278     create_uid integer references res_users on delete set null,
279     create_date timestamp without time zone,
280     write_date timestamp without time zone,
281     write_uid integer references res_users on delete set null,
282     parent_id integer REFERENCES ir_module_category ON DELETE SET NULL,
283     name character varying(128) NOT NULL,
284     primary key(id)
285 );
286
287
288 CREATE TABLE ir_module_module (
289     id serial NOT NULL,
290     create_uid integer references res_users on delete set null,
291     create_date timestamp without time zone,
292     write_date timestamp without time zone,
293     write_uid integer references res_users on delete set null,
294     website character varying(256),
295     name character varying(128) NOT NULL,
296     author character varying(128),
297     url character varying(128),
298     state character varying(16),
299     latest_version character varying(64),
300     shortdesc character varying(256),
301     category_id integer REFERENCES ir_module_category ON DELETE SET NULL,
302     certificate character varying(64),
303     description text,
304     demo boolean default False,
305     primary key(id)
306 );
307 ALTER TABLE ir_module_module add constraint name_uniq unique (name);
308
309 CREATE TABLE ir_module_module_dependency (
310     id serial NOT NULL,
311     create_uid integer references res_users on delete set null,
312     create_date timestamp without time zone,
313     write_date timestamp without time zone,
314     write_uid integer references res_users on delete set null,
315     name character varying(128),
316     version_pattern character varying(128) default NULL,
317     module_id integer REFERENCES ir_module_module ON DELETE cascade,
318     primary key(id)
319 );
320
321 CREATE TABLE res_company (
322     id serial NOT NULL,
323     name character varying(64) not null,
324     parent_id integer references res_company on delete set null,
325     primary key(id)
326 );
327
328 CREATE TABLE ir_model_data (
329     id serial NOT NULL,
330     create_uid integer,
331     create_date timestamp without time zone,
332     write_date timestamp without time zone,
333     write_uid integer,
334     noupdate boolean,
335     name character varying(128) NOT NULL,
336     date_init timestamp without time zone,
337     date_update timestamp without time zone,
338     module character varying(64) NOT NULL,
339     model character varying(64) NOT NULL,
340     res_id integer, primary key(id)
341 );
342
343 ---------------------------------
344 -- Users
345 ---------------------------------
346
347 insert into res_users (id,login,password,name,action_id,active,company_id) values (1,'admin',NULL,'Administrator',NULL,True,1);
348 insert into ir_model_data (name,module,model,noupdate,res_id) values ('user_root','base','res.users',True,1);
349
350 -- Compatibility purpose, to remove V6.0
351 insert into ir_model_data (name,module,model,noupdate,res_id) values ('user_admin','base','res.users',True,1);
352
353 select setval('res_users_id_seq', 2);