Semaphore/db/sql/migrations/v2.9.61.sql
2024-03-21 00:23:55 +01:00

57 lines
1.8 KiB
SQL

drop table project__integration_matcher;
drop table project__integration_extract_value;
drop table project__integration_extractor;
drop table project__integration;
create table project__integration (
`id` integer primary key autoincrement,
`name` varchar(255) not null,
`project_id` int not null,
`template_id` int not null,
`auth_method` varchar(15) not null default 'none',
`auth_secret_id` int,
`auth_header` varchar(255),
`searchable` bool not null default false,
foreign key (`project_id`) references project(`id`) on delete cascade,
foreign key (`template_id`) references project__template(`id`) on delete cascade,
foreign key (`auth_secret_id`) references access_key(`id`) on delete set null
);
create table project__integration_extract_value (
`id` integer primary key autoincrement,
`name` varchar(255) not null,
`integration_id` int not null,
`value_source` varchar(255) not null,
`body_data_type` varchar(255) null,
`key` varchar(255) null,
`variable` varchar(255) null,
foreign key (`integration_id`) references project__integration(`id`) on delete cascade
);
create table project__integration_matcher (
`id` integer primary key autoincrement,
`name` varchar(255) not null,
`integration_id` int not null,
`match_type` varchar(255) null,
`method` varchar(255) null,
`body_data_type` varchar(255) null,
`key` varchar(510) null,
`value` varchar(510) null,
foreign key (`integration_id`) references project__integration(`id`) on delete cascade
);
create table project__integration_alias (
`id` integer primary key autoincrement,
`alias` varchar(50) not null,
`project_id` int not null,
`integration_id` int,
foreign key (`project_id`) references project(`id`) on delete cascade,
foreign key (`integration_id`) references project__integration(`id`) on delete cascade,
unique (`alias`)
);