You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

56 lines
1.3 KiB

#!/bin/sh -e
KAMAILIO_SHARE_DIR=${KAMAILIO_SHARE_DIR:-/usr/share/kamailio}
DB_ENGINE=${DB_ENGINE:-db_kazoo}
RESULTED_SQL=${RESULTED_SQL:-/tmp/kamailio_initdb.sql}
. $(dirname $0)/$DB_ENGINE-specific --source-only
sql_filelist() {
echo `ls -A1 ${KAMAILIO_SHARE_DIR}/${DB_ENGINE}/*.sql | grep -v standard | tr '\n' '\0' | xargs -0 -n 1 basename | sort`
}
sql_all_header() {
cat << EOF
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);
EOF
}
sql_all_extra_tables() {
cat << EOF
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');
INSERT INTO version VALUES('event_list',1);
EOF
}
sql_all_footer() {
cat << EOF
COMMIT;
EOF
}
sql_db_prepare() {
sql_db_pre_setup > $RESULTED_SQL
sql_all_header >> $RESULTED_SQL
sql_header >> $RESULTED_SQL
for i in $(sql_filelist); do
cat $KAMAILIO_SHARE_DIR/$DB_ENGINE/$i >> $RESULTED_SQL
done
sql_all_extra_tables >> $RESULTED_SQL
sql_extra_tables >> $RESULTED_SQL
sql_footer >> $RESULTED_SQL
sql_all_footer >> $RESULTED_SQL
echo "$RESULTED_SQL"
}