mirror of
https://github.com/YunoHost-Apps/noalyss_ynh.git
synced 2024-09-03 19:46:20 +02:00
42 lines
1.3 KiB
MySQL
42 lines
1.3 KiB
MySQL
|
begin;
|
||
|
create table info_def (
|
||
|
id_type text primary key,
|
||
|
id_description text null
|
||
|
);
|
||
|
|
||
|
comment on table info_def is 'Contains the types of additionnal info we can add to a operation';
|
||
|
create or replace function info_def_ins_upd() returns trigger
|
||
|
AS
|
||
|
$$
|
||
|
declare
|
||
|
row_info_def info_def%ROWTYPE;
|
||
|
str_type text;
|
||
|
begin
|
||
|
row_info_def:=NEW;
|
||
|
str_type:=upper(trim(NEW.id_type));
|
||
|
str_type:=replace(str_type,' ','');
|
||
|
str_type:=replace(str_type,',','');
|
||
|
str_type:=replace(str_type,';','');
|
||
|
if length(str_type) =0 then
|
||
|
raise exception 'id_type cannot be null';
|
||
|
end if;
|
||
|
row_info_def.id_type:=str_type;
|
||
|
return row_info_def;
|
||
|
end;
|
||
|
$$ language plpgsql;
|
||
|
create trigger info_def_ins_upd_t before insert or update on info_def for each row execute procedure info_def_ins_upd();
|
||
|
|
||
|
create table jrn_info (
|
||
|
ji_id serial primary key,
|
||
|
jr_id integer not null,
|
||
|
id_type text not null,
|
||
|
ji_value text
|
||
|
);
|
||
|
alter table jrn_info add constraint fk_jrn foreign key (jr_id) references jrn(jr_id) on delete cascade on update cascade;
|
||
|
alter table jrn_info add constraint fk_info_def foreign key (id_type) references info_def(id_type) on delete cascade on update cascade;
|
||
|
insert into info_def values ('BON_COMMANDE','Numero de bon de commande') ;
|
||
|
insert into info_def values ('OTHER','Info diverses');
|
||
|
insert into attr_def values(30,'Numero de client');
|
||
|
update version set val=40;
|
||
|
commit;
|