Browse Source

db_scripts: Addeded creation of active_watchers_log table for PostgreSQL.

db_scripts: Adjusted location_attrs table to store long avalue.
db_scripts: KAMAILIO_SHARE_DIR and RESULTED_SQL is made configurable via enviroment vars
db_scripts: DB scpectific function separated to dedicated files
drop_requests
Sergey Safarov 8 years ago
committed by lazedo
parent
commit
45d4aa17e3
3 changed files with 96 additions and 28 deletions
  1. +10
    -28
      kamailio/db_scripts/create-kazoodb-sql.sh
  2. +36
    -0
      kamailio/db_scripts/mysql-spectific
  3. +50
    -0
      kamailio/db_scripts/postgres-spectific

+ 10
- 28
kamailio/db_scripts/create-kazoodb-sql.sh View File

@ -1,10 +1,12 @@
#!/bin/sh -e #!/bin/sh -e
KAMAILIO_SHARE_DIR=/usr/share/kamailio
KAMAILIO_SHARE_DIR=${KAMAILIO_SHARE_DIR:-/usr/share/kamailio}
DB_ENGINE=${DB_ENGINE:-postgres} DB_ENGINE=${DB_ENGINE:-postgres}
RESULTED_SQL=/tmp/kamailio_initdb.sql
RESULTED_SQL=${RESULTED_SQL:-/tmp/kamailio_initdb.sql}
get_sql_filelist() {
. ./$DB_ENGINE-spectific --source-only
sql_filelist() {
cat << EOF cat << EOF
acc-create.sql acc-create.sql
lcr-create.sql lcr-create.sql
@ -48,33 +50,13 @@ uid_uri_db-create.sql
EOF EOF
} }
resulted_sql_header() {
cat << EOF
BEGIN TRANSACTION;
CREATE TABLE version (
table_name VARCHAR(32) NOT NULL,
table_version INTEGER DEFAULT 0 NOT NULL,
CONSTRAINT version_table_name_idx UNIQUE (table_name)
);
INSERT INTO version VALUES('version',1);
CREATE TABLE event_list ( event varchar(25) PRIMARY KEY NOT NULL);
INSERT INTO event_list VALUES('dialog');
INSERT INTO event_list VALUES('presence');
INSERT INTO event_list VALUES('message-summary');
EOF
}
resulted_sql_footer() {
cat << EOF
COMMIT;
EOF
}
echo "Creating kamailio database init file in '$RESULTED_SQL'" echo "Creating kamailio database init file in '$RESULTED_SQL'"
resulted_sql_header > $RESULTED_SQL
for i in $(get_sql_filelist); do
sql_db_pre_setup > $RESULTED_SQL
sql_header > $RESULTED_SQL
for i in $(sql_filelist); do
cat $KAMAILIO_SHARE_DIR/$DB_ENGINE/$i >> $RESULTED_SQL cat $KAMAILIO_SHARE_DIR/$DB_ENGINE/$i >> $RESULTED_SQL
done done
resulted_sql_footer >> $RESULTED_SQL
sql_extra_tables >> $RESULTED_SQL
sql_footer >> $RESULTED_SQL
exit 0 exit 0

+ 36
- 0
kamailio/db_scripts/mysql-spectific View File

@ -0,0 +1,36 @@
#!/bin/sh
sql_db_pre_setup() {
cat << EOF
EOF
}
sql_header() {
cat << EOF
BEGIN TRANSACTION;
CREATE TABLE version (
table_name VARCHAR(32) NOT NULL,
table_version INTEGER DEFAULT 0 NOT NULL,
CONSTRAINT version_table_name_idx UNIQUE (table_name)
);
INSERT INTO version VALUES('version',1);
CREATE TABLE event_list ( event varchar(25) PRIMARY KEY NOT NULL);
INSERT INTO event_list VALUES('dialog');
INSERT INTO event_list VALUES('presence');
INSERT INTO event_list VALUES('message-summary');
EOF
}
sql_extra_tables() {
cat << EOF
-- Please add MySQL commnad for extra tables
-- Need to add "active_watchers_log"
EOF
}
sql_footer() {
cat << EOF
ALTER TABLE location_attrs ALTER COLUMN avalue TYPE varchar(512);
COMMIT;
EOF
}

+ 50
- 0
kamailio/db_scripts/postgres-spectific View File

@ -0,0 +1,50 @@
#!/bin/sh
sql_db_pre_setup() {
cat << EOF
EOF
}
sql_header() {
cat << EOF
BEGIN TRANSACTION;
CREATE TABLE version (
table_name VARCHAR(32) NOT NULL,
table_version INTEGER DEFAULT 0 NOT NULL,
CONSTRAINT version_table_name_idx UNIQUE (table_name)
);
INSERT INTO version VALUES('version',1);
CREATE TABLE event_list ( event varchar(25) PRIMARY KEY NOT NULL);
INSERT INTO event_list VALUES('dialog');
INSERT INTO event_list VALUES('presence');
INSERT INTO event_list VALUES('message-summary');
EOF
}
sql_extra_tables() {
cat << EOF
CREATE TABLE active_watchers_log (
id SERIAL PRIMARY KEY NOT NULL,
presentity_uri VARCHAR(128) NOT NULL,
watcher_username VARCHAR(64) NOT NULL,
watcher_domain VARCHAR(64) NOT NULL,
to_user VARCHAR(64) NOT NULL,
to_domain VARCHAR(64) NOT NULL,
event VARCHAR(64) DEFAULT 'presence' NOT NULL,
callid VARCHAR(255) NOT NULL,
time INTEGER NOT NULL,
result INTEGER NOT NULL,
sent_msg BYTEA NOT NULL,
received_msg BYTEA NOT NULL,
user_agent VARCHAR(255) DEFAULT '' NOT NULL,
CONSTRAINT active_watchers_active_watchers_log_idx UNIQUE (presentity_uri, watcher_username, watcher_domain, event)
);
EOF
}
sql_footer() {
cat << EOF
ALTER TABLE location_attrs ALTER COLUMN avalue TYPE varchar(512);
COMMIT;
EOF
}

Loading…
Cancel
Save