~openerp-dev/openobject-server/saas-4-minimalbasesql-chs

« back to all changes in this revision

Viewing changes to openerp/addons/base/base.sql

  • Committer: Christophe Simonis
  • Date: 2014-04-25 13:29:08 UTC
  • Revision ID: chs@openerp.com-20140425132908-y1bp2tl5hfpozo45
[IMP] remove useless table/column creations in base.sql. Let the ORM do it job

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
-- Pure SQL
3
3
-------------------------------------------------------------------------
4
4
 
5
 
-------------------------------------------------------------------------
6
 
-------------------------------------------------------------------------
7
 
 
8
 
create table ir_values
9
 
(
10
 
    id serial,
11
 
    name varchar(128) not null,
12
 
    key varchar(128) not null,
13
 
    key2 varchar(256) not null,
14
 
    model varchar(128) not null,
15
 
    value text,
16
 
    meta text default NULL,
17
 
    res_id integer default null,
18
 
    primary key (id)
19
 
);
20
 
 
21
 
-------------------------------------------------------------------------
22
 
-------------------------------------------------------------------------
23
 
 
24
5
CREATE TABLE ir_model (
25
6
  id serial,
26
 
  model varchar DEFAULT ''::varchar NOT NULL,
 
7
  model varchar NOT NULL,
27
8
  name varchar,
28
9
  state varchar,
29
10
  info text,
34
13
 
35
14
CREATE TABLE ir_model_fields (
36
15
  id serial,
37
 
  model varchar DEFAULT ''::varchar NOT NULL,
38
 
  model_id int references ir_model on delete cascade,
39
 
  name varchar DEFAULT ''::varchar NOT NULL,
 
16
  model varchar NOT NULL,
 
17
  model_id integer references ir_model on delete cascade,
 
18
  name varchar NOT NULL,
40
19
  relation varchar,
41
20
  select_level varchar,
42
21
  field_description varchar,
43
22
  ttype varchar,
44
23
  state varchar default 'base',
45
 
  relate boolean default False,
46
24
  relation_field varchar,
47
25
  translate boolean default False,
 
26
  serialization_field_id integer references ir_model_fields on delete cascade, 
48
27
  primary key(id)
49
28
);
50
29
 
51
 
ALTER TABLE ir_model_fields ADD column serialization_field_id int references ir_model_fields on delete cascade;
52
 
 
53
 
 
54
 
-------------------------------------------------------------------------
55
 
-------------------------------------------------------------------------
56
 
 
57
 
CREATE TABLE ir_actions (
58
 
    id serial NOT NULL,
59
 
    name varchar(64) DEFAULT ''::varchar NOT NULL,
60
 
    "type" varchar(32) NOT NULL,
61
 
    usage varchar(32) DEFAULT null,
62
 
    primary key(id)
63
 
);
64
 
 
65
 
CREATE TABLE ir_act_window (
66
 
    view_id integer,
67
 
    res_model varchar(64),
68
 
    view_type varchar(16),
69
 
    "domain" varchar(250),
70
 
    primary key(id)
71
 
)
72
 
INHERITS (ir_actions);
73
 
 
74
 
CREATE TABLE ir_act_report_xml (
75
 
    model varchar(64) NOT NULL,
76
 
    report_name varchar(64) NOT NULL,
77
 
    report_xsl varchar(256),
78
 
    report_xml varchar(256),
79
 
    auto boolean default true,
80
 
    primary key(id)
81
 
)
82
 
INHERITS (ir_actions);
83
 
 
84
 
create table ir_act_report_custom (
85
 
    report_id int,
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
 
CREATE TABLE ir_act_client (
109
 
    primary key(id)
110
 
)
111
 
INHERITS (ir_actions);
112
 
 
113
 
CREATE TABLE ir_ui_menu (
114
 
    id serial NOT NULL,
115
 
    parent_id int references ir_ui_menu on delete set null,
116
 
    name varchar(64) DEFAULT ''::varchar NOT NULL,
117
 
    icon varchar(64) DEFAULT ''::varchar,
118
 
    primary key (id)
119
 
);
120
 
 
121
 
select setval('ir_ui_menu_id_seq', 2);
122
 
 
123
 
---------------------------------
124
 
---------------------------------
125
 
 
 
30
CREATE TABLE res_lang (
 
31
    id serial,
 
32
    name VARCHAR(64) NOT NULL UNIQUE,
 
33
    code VARCHAR(16) NOT NULL UNIQUE,
 
34
    primary key(id)
 
35
);
126
36
 
127
37
CREATE TABLE res_users (
128
38
    id serial NOT NULL,
138
41
    password varchar(64) default null,
139
42
    -- No FK references below, will be added later by ORM
140
43
    -- (when the destination rows exist)
141
 
    company_id int,
142
 
    partner_id int,
143
 
    primary key(id)
144
 
);
145
 
alter table res_users add constraint res_users_login_uniq unique (login);
146
 
 
147
 
CREATE TABLE res_groups (
148
 
    id serial NOT NULL,
149
 
    name varchar(64) NOT NULL,
150
 
    primary key(id)
151
 
);
152
 
 
153
 
CREATE TABLE res_groups_users_rel (
154
 
    uid integer NOT NULL references res_users on delete cascade,
155
 
    gid integer NOT NULL references res_groups on delete cascade,
156
 
    UNIQUE("uid","gid")
157
 
);
158
 
 
159
 
create index res_groups_users_rel_uid_idx on res_groups_users_rel (uid);
160
 
create index res_groups_users_rel_gid_idx on res_groups_users_rel (gid);
161
 
 
162
 
 
163
 
---------------------------------
164
 
---------------------------------
165
 
 
166
 
create table wkf
167
 
(
 
44
    company_id integer, -- references res_company,
 
45
    partner_id integer, -- references res_partner,
 
46
    primary key(id)
 
47
);
 
48
 
 
49
create table wkf (
168
50
    id serial,
169
 
    name varchar(64),
170
51
    osv varchar(64),
171
52
    on_create bool default False,
172
53
    primary key(id)
173
54
);
174
55
 
175
 
create table wkf_activity
176
 
(
177
 
    id serial,
178
 
    wkf_id int references wkf on delete cascade,
179
 
    subflow_id int references wkf on delete set null,
180
 
    split_mode varchar(3) default 'XOR',
181
 
    join_mode varchar(3) default 'XOR',
182
 
    kind varchar(16) not null default 'dummy',
183
 
    name varchar(64),
184
 
    signal_send varchar(32) default null,
185
 
    flow_start boolean default False,
186
 
    flow_stop boolean default False,
187
 
    action text default null,
188
 
    primary key(id)
189
 
);
190
 
 
191
 
create table wkf_transition
192
 
(
193
 
    id serial,
194
 
    act_from int references wkf_activity on delete cascade,
195
 
    act_to int references wkf_activity on delete cascade,
196
 
    condition varchar(128) default NULL,
197
 
 
198
 
    trigger_type varchar(128) default NULL,
199
 
    trigger_expr_id varchar(128) default NULL,
200
 
 
201
 
    signal varchar(64) default null,
202
 
    group_id int references res_groups on delete set null,
203
 
 
204
 
    primary key(id)
205
 
);
206
 
 
207
 
create table wkf_instance
208
 
(
209
 
    id serial,
210
 
    wkf_id int references wkf on delete restrict,
211
 
    uid int default null,
212
 
    res_id int not null,
213
 
    res_type varchar(64) not null,
214
 
    state varchar(32) not null default 'active',
215
 
    primary key(id)
216
 
);
217
 
 
218
 
create table wkf_workitem
219
 
(
220
 
    id serial,
221
 
    act_id int not null references wkf_activity on delete cascade,
222
 
    inst_id int not null references wkf_instance on delete cascade,
223
 
    subflow_id int references wkf_instance on delete cascade,
224
 
    state varchar(64) default 'blocked',
225
 
    primary key(id)
226
 
);
227
 
 
228
 
create table wkf_witm_trans
229
 
(
230
 
    trans_id int not null references wkf_transition on delete cascade,
231
 
    inst_id int not null references wkf_instance on delete cascade
232
 
);
233
 
 
234
 
create index wkf_witm_trans_inst_idx on wkf_witm_trans (inst_id);
235
 
 
236
 
create table wkf_logs
237
 
(
238
 
    id serial,
239
 
    res_type varchar(128) not null,
240
 
    res_id int not null,
241
 
    uid int references res_users on delete set null,
242
 
    act_id int references wkf_activity on delete set null,
243
 
    time time not null,
244
 
    info varchar(128) default NULL,
245
 
    primary key(id)
246
 
);
247
 
 
248
 
---------------------------------
249
 
---------------------------------
250
 
 
251
56
CREATE TABLE ir_module_category (
252
57
    id serial NOT NULL,
253
 
    create_uid integer references res_users on delete set null,
 
58
    create_uid integer, -- references res_users on delete set null,
254
59
    create_date timestamp without time zone,
255
60
    write_date timestamp without time zone,
256
 
    write_uid integer references res_users on delete set null,
 
61
    write_uid integer, -- references res_users on delete set null,
257
62
    parent_id integer REFERENCES ir_module_category ON DELETE SET NULL,
258
63
    name character varying(128) NOT NULL,
259
64
    primary key(id)
264
67
 
265
68
CREATE TABLE ir_module_module (
266
69
    id serial NOT NULL,
267
 
    create_uid integer references res_users on delete set null,
 
70
    create_uid integer, -- references res_users on delete set null,
268
71
    create_date timestamp without time zone,
269
72
    write_date timestamp without time zone,
270
 
    write_uid integer references res_users on delete set null,
 
73
    write_uid integer, -- references res_users on delete set null,
271
74
    website character varying(256),
272
75
    summary character varying(256),
273
76
    name character varying(128) NOT NULL,
274
77
    author character varying(128),
275
 
    url character varying(128),
276
78
    icon character varying(64),
277
79
    state character varying(16),
278
80
    latest_version character varying(64),
279
81
    shortdesc character varying(256),
280
 
    complexity character varying(32),
281
82
    category_id integer REFERENCES ir_module_category ON DELETE SET NULL,
282
83
    description text,
283
84
    application boolean default False,
292
93
 
293
94
CREATE TABLE ir_module_module_dependency (
294
95
    id serial NOT NULL,
295
 
    create_uid integer references res_users on delete set null,
 
96
    create_uid integer, -- references res_users on delete set null,
296
97
    create_date timestamp without time zone,
297
98
    write_date timestamp without time zone,
298
 
    write_uid integer references res_users on delete set null,
 
99
    write_uid integer, -- references res_users on delete set null,
299
100
    name character varying(128),
300
 
    version_pattern character varying(128) default NULL,
301
101
    module_id integer REFERENCES ir_module_module ON DELETE cascade,
302
102
    primary key(id)
303
103
);
304
104
 
305
 
CREATE TABLE res_partner (
306
 
    id serial NOT NULL,
307
 
    name character varying(128),
308
 
    lang varchar(64),
309
 
    company_id int,
310
 
    primary key(id)
311
 
);
312
 
 
313
 
 
314
 
CREATE TABLE res_currency (
315
 
    id serial PRIMARY KEY,
316
 
    name VARCHAR(32) NOT NULL
317
 
);
318
 
 
319
 
CREATE TABLE res_company (
320
 
    id serial PRIMARY KEY,
321
 
    name character varying(128) not null,
322
 
    parent_id integer references res_company on delete set null,
323
 
    partner_id integer not null references res_partner,
324
 
    currency_id integer not null references res_currency
325
 
    
326
 
);
327
 
 
328
 
CREATE TABLE res_lang (
329
 
    id serial PRIMARY KEY,
330
 
    name VARCHAR(64) NOT NULL UNIQUE,
331
 
    code VARCHAR(16) NOT NULL UNIQUE
332
 
);
333
 
 
334
105
CREATE TABLE ir_model_data (
335
106
    id serial NOT NULL,
336
107
    create_uid integer,
343
114
    date_update timestamp without time zone,
344
115
    module varchar NOT NULL,
345
116
    model varchar NOT NULL,
346
 
    res_id integer, primary key(id)
 
117
    res_id integer,
 
118
    primary key(id)
347
119
);
348
120
 
349
121
-- Records foreign keys and constraints installed by a module (so they can be
352
124
--   - for a constraint: type is 'u' (this is the convention PostgreSQL uses).
353
125
CREATE TABLE ir_model_constraint (
354
126
    id serial NOT NULL,
355
 
    create_uid integer,
356
 
    create_date timestamp without time zone,
357
 
    write_date timestamp without time zone,
358
 
    write_uid integer,
359
127
    date_init timestamp without time zone,
360
128
    date_update timestamp without time zone,
361
129
    module integer NOT NULL references ir_module_module on delete restrict,
362
130
    model integer NOT NULL references ir_model on delete restrict,
363
131
    type character varying(1) NOT NULL,
364
 
    name varchar NOT NULL
 
132
    name varchar NOT NULL,
 
133
    primary key(id)
365
134
);
366
135
 
367
136
-- Records relation tables (i.e. implementing many2many) installed by a module
368
137
-- (so they can be removed when the module is uninstalled).
369
138
CREATE TABLE ir_model_relation (
370
139
    id serial NOT NULL,
371
 
    create_uid integer,
372
 
    create_date timestamp without time zone,
373
 
    write_date timestamp without time zone,
374
 
    write_uid integer,
375
140
    date_init timestamp without time zone,
376
141
    date_update timestamp without time zone,
377
142
    module integer NOT NULL references ir_module_module on delete restrict,
378
143
    model integer NOT NULL references ir_model on delete restrict,
379
 
    name varchar NOT NULL
 
144
    name varchar NOT NULL,
 
145
    primary key(id)
380
146
);  
381
147
 
382
 
---------------------------------
383
 
---------------------------------
384
 
insert into res_users (id,login,password,active,company_id,partner_id) VALUES (1,'admin','admin',true,1,1);
385
 
insert into ir_model_data (name,module,model,noupdate,res_id) VALUES ('user_root','base','res.users',true,1);
386
 
 
387
 
insert into res_partner (id, name, lang, company_id) VALUES (1, 'Your Company', 'en_US', 1);
388
 
insert into ir_model_data (name,module,model,noupdate,res_id) VALUES ('main_partner','base','res.partner',true,1);
389
 
 
 
148
CREATE TABLE res_currency (
 
149
    id serial,
 
150
    name varchar NOT NULL,
 
151
    primary key(id)
 
152
);
 
153
 
 
154
CREATE TABLE res_company (
 
155
    id serial,
 
156
    name varchar NOT NULL,
 
157
    partner_id integer,
 
158
    currency_id integer,
 
159
    primary key(id)
 
160
);
 
161
 
 
162
CREATE TABLE res_partner (
 
163
    id serial,
 
164
    name varchar,
 
165
    company_id integer,
 
166
    primary key(id)
 
167
);
 
168
 
 
169
 
 
170
---------------------------------
 
171
-- Default data
 
172
---------------------------------
390
173
insert into res_currency (id, name) VALUES (1, 'EUR');
391
 
insert into ir_model_data (name,module,model,noupdate,res_id) VALUES ('EUR','base','res.currency',true,1);
 
174
insert into ir_model_data (name, module, model, noupdate, res_id) VALUES ('EUR', 'base', 'res.currency', true, 1);
 
175
select setval('res_currency_id_seq', 2);
392
176
 
393
177
insert into res_company (id, name, partner_id, currency_id) VALUES (1, 'Your Company', 1, 1);
394
 
insert into ir_model_data (name,module,model,noupdate,res_id) VALUES ('main_company','base','res.company',true,1);
395
 
 
 
178
insert into ir_model_data (name, module, model, noupdate, res_id) VALUES ('main_company', 'base', 'res.company', true, 1);
396
179
select setval('res_company_id_seq', 2);
 
180
 
 
181
insert into res_partner (id, name, company_id) VALUES (1, 'Your Company', 1);
 
182
insert into ir_model_data (name, module, model, noupdate, res_id) VALUES ('main_partner', 'base', 'res.partner', true, 1);
 
183
select setval('res_partner_id_seq', 2);
 
184
 
 
185
insert into res_users (id, login, password, active, partner_id, company_id) VALUES (1, 'admin', 'admin', true, 1, 1);
 
186
insert into ir_model_data (name, module, model, noupdate, res_id) VALUES ('user_root', 'base', 'res.users', true, 1);
397
187
select setval('res_users_id_seq', 2);
398
 
select setval('res_partner_id_seq', 2);
399
 
select setval('res_currency_id_seq', 2);