Разработка:
- БД скрипт с начальными данными
- вывод списка номеров телефонов по группам
This commit is contained in:
Alexander Zhirov 2023-05-31 02:04:03 +03:00
parent ca5259c638
commit 815b5a6b6a
34 changed files with 1229 additions and 49 deletions

View file

@ -9,9 +9,15 @@ services:
POSTGRES_PASSWORD: asterisk
PGTZ: Europe/Moscow
TZ: Europe/Moscow
networks:
- db_net
ports:
- 5432:5432
volumes:
- ./volumes-data:/var/lib/postgresql/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
networks:
db_net:
name: db_net

View file

@ -1,62 +1,62 @@
create table if not exists "groups" (
"name" varchar(20) not null,
"comment" varchar(100) default null,
constraint groups_pk primary key ("name")
create table if not exists da_groups (
da_name varchar(20) not null,
da_comment varchar(100) default null,
constraint da_groups_pk primary key (da_name)
);
insert into "groups" ("name", "comment")
values
('general', 'Общие контакты'),
('work', 'Рабочие контакты'),
('personal', 'Личные контакты');
insert into da_groups (da_name, da_comment)
values
('general', 'Общие контакты'),
('work', 'Рабочие контакты'),
('personal', 'Личные контакты');
create table if not exists lists (
"name" varchar(20) not null,
"comment" varchar(100) default null,
constraint lists_pk primary key ("name")
create table if not exists da_lists (
da_name varchar(20) not null,
da_comment varchar(100) default null,
constraint da_lists_pk primary key (da_name)
);
insert into lists ("name", "comment")
values
('general', 'Общий список'),
('whitelist', 'Белый список'),
('blacklist', 'Черный список');
insert into da_lists (da_name, da_comment)
values
('general', 'Общий'),
('whitelist', 'Белый'),
('blacklist', 'Черный');
create table if not exists numbers (
"number" varchar(12) not null,
"group" varchar(20) not null default 'general',
list varchar(20) not null default 'general',
all_cc int not null default 0,
white_cc int not null default 0,
black_cc int not null default 0,
"comment" varchar(100) default null,
constraint numbers_pk primary key ("number"),
foreign key ("group") references "groups" ("name") on delete set null on update cascade,
foreign key (list) references lists ("name") on delete set null on update cascade
create table if not exists da_numbers (
da_number varchar(12) not null,
da_group varchar(20) not null default 'general',
da_list varchar(20) not null default 'general',
da_all_cc int not null default 0,
da_white_cc int not null default 0,
da_black_cc int not null default 0,
da_comment varchar(100) default null,
constraint da_numbers_pk primary key (da_number),
foreign key (da_group) references da_groups (da_name) on delete set null on update cascade,
foreign key (da_list) references da_lists (da_name) on delete set null on update cascade
);
create table if not exists sms (
id bigserial not null,
"date" timestamp not null default NOW(),
"to" varchar(12) not null,
"from" varchar(12) not null,
"text" text not null,
constraint sms_pk primary key (id)
create table if not exists da_sms (
da_id bigserial not null,
da_date timestamp not null default NOW(),
da_to varchar(12) not null,
da_from varchar(12) not null,
da_text text not null,
constraint da_sms_pk primary key (da_id)
);
create table if not exists ussd (
id bigserial not null,
"date" timestamp not null default NOW(),
"to" varchar(12) not null,
"type" smallint not null,
"text" text not null,
constraint ussd_pk primary key (id)
create table if not exists da_ussd (
da_id bigserial not null,
da_date timestamp not null default NOW(),
da_to varchar(12) not null,
da_type smallint not null,
da_text text not null,
constraint da_ussd_pk primary key (da_id)
);
create table if not exists "server" (
address varchar(50) not null,
transparent_mode bool not null default false,
internal_number varchar(12) not null,
external_number varchar(12) not null,
constraint server_pk primary key (address)
create table if not exists da_server (
da_address varchar(50) not null,
da_transparent_mode bool not null default false,
da_internal_number varchar(12) not null,
da_external_number varchar(12) not null,
constraint da_server_pk primary key (da_address)
);