123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- #
- # Script for adding and dropping Kamailio sqlite tables
- #
- # path to the database schemas
- DATA_DIR="/usr/local/share/kamailio"
- if [ -d "$DATA_DIR/db_sqlite" ] ; then
- DB_SCHEMA="$DATA_DIR/db_sqlite"
- else
- DB_SCHEMA="./db_sqlite"
- fi
- #################################################################
- # config vars
- #################################################################
- CMD="sqlite3"
- DUMP_CMD="sql_dump"
- #################################################################
- sql_dump()
- {
- $CMD ${1:-$DB_PATH} .dump
- }
- # execute sql command with optional db name
- sql_query()
- {
- $CMD "$@"
- }
- kamailio_drop() # pars: <database name>
- {
- if [ $# -ne 1 ] ; then
- merr "kamailio_drop function takes one param"
- exit 1
- fi
- if ! rm $1; then
- merr "Dropping database $1 failed!"
- exit 1
- fi
- minfo "Database $1 dropped"
- } #kamailio_drop
- kamailio_create () # pars: <database name>
- {
- if [ $# -ne 1 ] ; then
- merr "kamailio_create function takes one param"
- exit 1
- fi
- minfo "creating database $1 ..."
- if [ $? -ne 0 ] ; then
- merr "Creating database failed!"
- exit 1
- fi
- #sql_query "$1" "CREATE FUNCTION "concat" (text,text) RETURNS text AS 'SELECT \$1 || \$2;' LANGUAGE 'sql';
- # CREATE FUNCTION "rand" () RETURNS double precision AS 'SELECT random();' LANGUAGE 'sql';"
- # emulate mysql proprietary functions used by the lcr module in postgresql
- #if [ $? -ne 0 ] ; then
- # merr "Creating mysql emulation functions failed!"
- # exit 1
- #fi
- for TABLE in $STANDARD_MODULES; do
- mdbg "Creating core table: $TABLE"
- sql_query "$1" < $DB_SCHEMA/$TABLE-create.sql
- if [ $? -ne 0 ] ; then
- merr "Creating core tables failed!"
- exit 1
- fi
- done
- if [ -e $DB_SCHEMA/extensions-create.sql ]
- then
- minfo "Creating custom extensions tables"
- sql_query $1 < $DB_SCHEMA/extensions-create.sql
- if [ $? -ne 0 ] ; then
- merr "Creating custom extensions tables failed!"
- exit 1
- fi
- fi
- minfo "Core Kamailio tables succesfully created."
- get_answer $INSTALL_PRESENCE_TABLES "Install presence related tables? (y/n): "
- if [ "$ANSWER" = "y" ]; then
- presence_create $1
- fi
- get_answer $INSTALL_EXTRA_TABLES "Install tables for $EXTRA_MODULES? (y/n): "
- if [ "$ANSWER" = "y" ]; then
- extra_create $1
- fi
- } # kamailio_create
- presence_create () # pars: <database name>
- {
- if [ $# -ne 1 ] ; then
- merr "presence_create function takes one param"
- exit 1
- fi
- minfo "creating presence tables into $1 ..."
- sql_query "$1" < $DB_SCHEMA/presence-create.sql
- if [ $? -ne 0 ] ; then
- merr "Failed to create presence tables!"
- exit 1
- fi
- sql_query "$1" < $DB_SCHEMA/rls-create.sql
- if [ $? -ne 0 ] ; then
- merr "Failed to create rls-presence tables!"
- exit 1
- fi
- minfo "Presence tables succesfully created."
- } # end presence_create
- extra_create () # pars: <database name>
- {
- if [ $# -ne 1 ] ; then
- merr "extra_create function takes one param"
- exit 1
- fi
- minfo "creating extra tables into $1 ..."
- for TABLE in $EXTRA_MODULES; do
- mdbg "Creating extra table: $TABLE"
- sql_query "$1" < $DB_SCHEMA/$TABLE-create.sql
- if [ $? -ne 0 ] ; then
- merr "Creating extra tables failed!"
- exit 1
- fi
- done
- minfo "Extra tables succesfully created."
- } # end extra_create
|