Browse Source

kamdbctl: new command add-tables

- creates only tables that are groupped under same id, thus have the sql
  script in a file
- syntax: kamdbctl add-tables <gid>
- there has to be a <gid>-create.sql script
- eg: kamdbctl add-tables lcr
Daniel-Constantin Mierla 12 năm trước cách đây
mục cha
commit
727aa357d9

+ 17 - 0
utils/kamctl/kamdbctl

@@ -444,6 +444,23 @@ case $1 in
 		kamailio_db_revoke $DBNAME
 		kamailio_db_revoke $DBNAME
 		exit $?
 		exit $?
 		;;
 		;;
+	add-tables)
+		if [ "$USED_DBENGINE" != "mysql" ] ; then
+			merr "$USED_DBENGINE don't support add-tables operation"
+			exit 1
+		fi
+		if [ $# -ne 2 ] ; then
+			merr "add-tables requires 1 parameter: group id of tables"
+			exit 1
+		fi
+		if [ -z "$DBNAME" ] ; then
+			merr "DBNAME is not set"
+			exit 1
+		fi
+
+		kamailio_add_tables $DBNAME $2
+		exit $?
+		;;
 	bdb|db_berkeley)
 	bdb|db_berkeley)
 		shift
 		shift
 		kamailio_berkeley "$@"
 		kamailio_berkeley "$@"

+ 1 - 0
utils/kamctl/kamdbctl.base

@@ -107,6 +107,7 @@ usage: $COMMAND create <db name or db_path, optional> ...(creates a new database
        $COMMAND dbonly ..................................(creates empty database)
        $COMMAND dbonly ..................................(creates empty database)
        $COMMAND grant ...................................(grant privileges to database)
        $COMMAND grant ...................................(grant privileges to database)
        $COMMAND revoke ..................................(revoke privileges to database)
        $COMMAND revoke ..................................(revoke privileges to database)
+       $COMMAND add-tables <gid> ........................(creates only tables groupped in gid)
 
 
        if you want to manipulate database as other database user than
        if you want to manipulate database as other database user than
        root, want to change database name from default value "$DBNAME",
        root, want to change database name from default value "$DBNAME",

+ 22 - 0
utils/kamctl/kamdbctl.mysql

@@ -345,6 +345,28 @@ dbuid_create () # pars: <database name>
 }  # end uid_create
 }  # end uid_create
 
 
 
 
+kamailio_add_tables () # params: <database name> <tables group name>
+{
+	if [ $# -ne 2 ] ; then
+		merr "kamailio_add_tables function takes two params"
+		exit 1
+	fi
+
+	minfo "creating group of tables [$2] into database [$1] ..."
+
+	if [ -e $DB_SCHEMA/$2-create.sql ]
+	then
+		sql_query $1 < $DB_SCHEMA/$2-create.sql
+		if [ $? -ne 0 ] ; then
+			merr "Creating group of tables [$2] failed"
+			exit 1
+		fi
+	else
+		merr "Script for creating group of tables [$2] not found"
+		exit 1
+	fi
+}  # end kamailio_add_tables
+
 migrate_table () # 4 paremeters (dst_table, dst_cols, src_table, src_cols)
 migrate_table () # 4 paremeters (dst_table, dst_cols, src_table, src_cols)
 {
 {
 	if [ $# -ne 4 ] ; then
 	if [ $# -ne 4 ] ; then