|
@@ -136,7 +136,7 @@ kamailio_db_create () # pars: <database name>
|
|
|
|
|
|
minfo "creating database $1 ..."
|
|
|
|
|
|
- sql_query "" "CREATE DATACASE $1 CHARACTER SET $CHARSET;"
|
|
|
+ sql_query "" "CREATE DATABASE $1 CHARACTER SET $CHARSET;"
|
|
|
|
|
|
if [ $? -ne 0 ] ; then
|
|
|
merr "Creating database $1 failed!"
|
|
@@ -172,128 +172,190 @@ kamailio_db_grant () # pars: <database name>
|
|
|
fi
|
|
|
}
|
|
|
|
|
|
-kamailio_create () # pars: <database name>
|
|
|
+kamailio_db_revoke () # pars: <database name>
|
|
|
{
|
|
|
-if [ $# -ne 1 ] ; then
|
|
|
- merr "kamailio_create function takes one param"
|
|
|
- exit 1
|
|
|
-fi
|
|
|
+ if [ $# -ne 1 ] ; then
|
|
|
+ merr "kamailio_db_revoke function takes one param"
|
|
|
+ exit 1
|
|
|
+ fi
|
|
|
|
|
|
-kamailio_db_create $1
|
|
|
+ minfo "revoking privileges to database $1 ..."
|
|
|
|
|
|
-kamailio_db_grant $1
|
|
|
+ # Users: kamailio is the regular user, kamailioro only for reading
|
|
|
+ sql_query "" "REVOKE ALL PRIVILEGES ON $1.* FROM '${DBRWUSER}'@'$DBHOST';
|
|
|
+ REVOKE SELECT ON $1.* FROM '${DBROUSER}'@'$DBHOST';"
|
|
|
|
|
|
-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!"
|
|
|
+ merr "revoking privileges to database $1 failed!"
|
|
|
exit 1
|
|
|
fi
|
|
|
-done
|
|
|
|
|
|
-minfo "Core Kamailio tables succesfully created."
|
|
|
+ if [ "$DBHOST" != "localhost" ] ; then
|
|
|
+ sql_query "" "REVOKE ALL PRIVILEGES ON $1.* FROM '$DBRWUSER'@'localhost';
|
|
|
+ REVOKE SELECT ON $1.* FROM '$DBROUSER'@'localhost';"
|
|
|
+ if [ $? -ne 0 ] ; then
|
|
|
+ merr "granting localhost privileges to database $1 failed!"
|
|
|
+ exit 1
|
|
|
+ fi
|
|
|
+ fi
|
|
|
+}
|
|
|
|
|
|
-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!"
|
|
|
+
|
|
|
+kamailio_create () # pars: <database name>
|
|
|
+{
|
|
|
+ if [ $# -ne 1 ] ; then
|
|
|
+ merr "kamailio_create function takes one param"
|
|
|
exit 1
|
|
|
fi
|
|
|
-fi
|
|
|
|
|
|
-get_answer $INSTALL_PRESENCE_TABLES "Install presence related tables? (y/n): "
|
|
|
-if [ "$ANSWER" = "y" ]; then
|
|
|
- presence_create $1
|
|
|
-fi
|
|
|
+ kamailio_db_create $1
|
|
|
|
|
|
-get_answer $INSTALL_EXTRA_TABLES "Install tables for $EXTRA_MODULES? (y/n): "
|
|
|
-if [ "$ANSWER" = "y" ]; then
|
|
|
- HAS_EXTRA="yes"
|
|
|
- extra_create $1
|
|
|
-fi
|
|
|
-} # kamailio_create
|
|
|
+ kamailio_db_grant $1
|
|
|
|
|
|
+ standard_create $1
|
|
|
|
|
|
-presence_create () # pars: <database name>
|
|
|
+ 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
|
|
|
+ HAS_EXTRA="yes"
|
|
|
+ extra_create $1
|
|
|
+ fi
|
|
|
+
|
|
|
+ get_answer $INSTALL_DBUID_TABLES "Install tables for $DBUID_MODULES? (y/n): "
|
|
|
+ if [ "$ANSWER" = "y" ]; then
|
|
|
+ HAS_EXTRA="yes"
|
|
|
+ dbuid_create $1
|
|
|
+ fi
|
|
|
+} # end kamailio_create
|
|
|
+
|
|
|
+standard_create () # pars: <database name>
|
|
|
{
|
|
|
-if [ $# -ne 1 ] ; then
|
|
|
- merr "presence_create function takes one param"
|
|
|
- exit 1
|
|
|
-fi
|
|
|
+ if [ $# -ne 1 ] ; then
|
|
|
+ merr "standard_create function takes one param"
|
|
|
+ exit 1
|
|
|
+ fi
|
|
|
|
|
|
-minfo "creating presence tables into $1 ..."
|
|
|
+ minfo "creating standard tables into $1 ..."
|
|
|
|
|
|
-sql_query $1 < $DB_SCHEMA/presence-create.sql
|
|
|
+ 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 at $TABLE!"
|
|
|
+ exit 1
|
|
|
+ fi
|
|
|
+ done
|
|
|
|
|
|
-if [ $? -ne 0 ] ; then
|
|
|
- merr "Failed to create presence tables!"
|
|
|
- exit 1
|
|
|
-fi
|
|
|
+ minfo "Core Kamailio tables succesfully created."
|
|
|
|
|
|
-sql_query $1 < $DB_SCHEMA/rls-create.sql
|
|
|
+ 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
|
|
|
+} # end standard_create
|
|
|
|
|
|
-if [ $? -ne 0 ] ; then
|
|
|
- merr "Failed to create rls-presence tables!"
|
|
|
- exit 1
|
|
|
-fi
|
|
|
|
|
|
-minfo "Presence tables succesfully created."
|
|
|
+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 ..."
|
|
|
+
|
|
|
+ for TABLE in $PRESENCE_MODULES; do
|
|
|
+ mdbg "Creating presence tables for $TABLE"
|
|
|
+ sql_query $1 < $DB_SCHEMA/$TABLE-create.sql
|
|
|
+ if [ $? -ne 0 ] ; then
|
|
|
+ merr "Creating presence tables failed at $TABLE!"
|
|
|
+ exit 1
|
|
|
+ fi
|
|
|
+ done
|
|
|
+
|
|
|
+ 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
|
|
|
+ if [ $# -ne 1 ] ; then
|
|
|
+ merr "extra_create function takes one param"
|
|
|
+ exit 1
|
|
|
+ fi
|
|
|
|
|
|
-minfo "creating extra tables into $1 ..."
|
|
|
+ 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 at $TABLE!"
|
|
|
- exit 1
|
|
|
- fi
|
|
|
- done
|
|
|
-minfo "Extra tables succesfully created."
|
|
|
+ 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 at $TABLE!"
|
|
|
+ exit 1
|
|
|
+ fi
|
|
|
+ done
|
|
|
+ minfo "Extra tables succesfully created."
|
|
|
} # end extra_create
|
|
|
|
|
|
+dbuid_create () # pars: <database name>
|
|
|
+{
|
|
|
+ if [ $# -ne 1 ] ; then
|
|
|
+ merr "dbuid_create function takes one param"
|
|
|
+ exit 1
|
|
|
+ fi
|
|
|
+
|
|
|
+ minfo "creating uid tables into $1 ..."
|
|
|
+
|
|
|
+ for TABLE in $DBUID_MODULES; do
|
|
|
+ mdbg "Creating uid table: $TABLE"
|
|
|
+ sql_query $1 < $DB_SCHEMA/$TABLE-create.sql
|
|
|
+ if [ $? -ne 0 ] ; then
|
|
|
+ merr "Creating uid tables failed at $TABLE!"
|
|
|
+ exit 1
|
|
|
+ fi
|
|
|
+ done
|
|
|
+ minfo "UID tables succesfully created."
|
|
|
+} # end uid_create
|
|
|
+
|
|
|
|
|
|
migrate_table () # 4 paremeters (dst_table, dst_cols, src_table, src_cols)
|
|
|
{
|
|
|
-if [ $# -ne 4 ] ; then
|
|
|
- merr "migrate_table function takes 4 params $@"
|
|
|
- exit 1
|
|
|
-fi
|
|
|
+ if [ $# -ne 4 ] ; then
|
|
|
+ merr "migrate_table function takes 4 params $@"
|
|
|
+ exit 1
|
|
|
+ fi
|
|
|
|
|
|
-src_cols=`echo $4 | sed s/?/$3./g `
|
|
|
+ src_cols=`echo $4 | sed s/?/$3./g `
|
|
|
|
|
|
-X=`sql_query "" "INSERT into $1 ($2) SELECT $src_cols from $3;" 2>&1`
|
|
|
+ X=`sql_query "" "INSERT into $1 ($2) SELECT $src_cols from $3;" 2>&1`
|
|
|
|
|
|
-if [ $? -ne 0 ] ; then
|
|
|
- echo $X | $GREP "ERROR 1146" > /dev/null
|
|
|
- if [ $? -eq 0 ] ; then
|
|
|
- echo " -- Migrating $3 to $1.....SKIPPED (no source)"
|
|
|
- return 0
|
|
|
- fi
|
|
|
- echo "ERROR: failed to migrate $3 to $1!!!"
|
|
|
- echo -n "Skip it and continue (y/n)? "
|
|
|
- read INPUT
|
|
|
- if [ "$INPUT" = "y" ] || [ "$INPUT" = "Y" ]
|
|
|
- then
|
|
|
- return 0
|
|
|
- fi
|
|
|
+ if [ $? -ne 0 ] ; then
|
|
|
+ echo $X | $GREP "ERROR 1146" > /dev/null
|
|
|
+ if [ $? -eq 0 ] ; then
|
|
|
+ echo " -- Migrating $3 to $1.....SKIPPED (no source)"
|
|
|
+ return 0
|
|
|
+ fi
|
|
|
+ echo "ERROR: failed to migrate $3 to $1!!!"
|
|
|
+ echo -n "Skip it and continue (y/n)? "
|
|
|
+ read INPUT
|
|
|
+ if [ "$INPUT" = "y" ] || [ "$INPUT" = "Y" ]
|
|
|
+ then
|
|
|
+ return 0
|
|
|
+ fi
|
|
|
|
|
|
- exit 1;
|
|
|
-fi
|
|
|
+ exit 1;
|
|
|
+ fi
|
|
|
|
|
|
-minfo " -- Migrating $3 to $1.....OK"
|
|
|
+ minfo " -- Migrating $3 to $1.....OK"
|
|
|
|
|
|
}
|
|
|
|