kamdbctl.sqlite 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. #
  2. # Script for adding and dropping Kamailio sqlite tables
  3. #
  4. # path to the database schemas
  5. DATA_DIR="/usr/local/share/kamailio"
  6. if [ -d "$DATA_DIR/db_sqlite" ] ; then
  7. DB_SCHEMA="$DATA_DIR/db_sqlite"
  8. else
  9. DB_SCHEMA="./db_sqlite"
  10. fi
  11. #################################################################
  12. # config vars
  13. #################################################################
  14. CMD="sqlite3"
  15. DUMP_CMD="sql_dump"
  16. #################################################################
  17. sql_dump()
  18. {
  19. $CMD ${1:-$DB_PATH} .dump
  20. }
  21. # execute sql command with optional db name
  22. sql_query()
  23. {
  24. $CMD "$@"
  25. }
  26. kamailio_drop() # pars: <database name>
  27. {
  28. if [ $# -ne 1 ] ; then
  29. merr "kamailio_drop function takes one param"
  30. exit 1
  31. fi
  32. if ! rm $1; then
  33. merr "Dropping database $1 failed!"
  34. exit 1
  35. fi
  36. minfo "Database $1 dropped"
  37. } #kamailio_drop
  38. kamailio_create () # pars: <database name>
  39. {
  40. if [ $# -ne 1 ] ; then
  41. merr "kamailio_create function takes one param"
  42. exit 1
  43. fi
  44. minfo "creating database $1 ..."
  45. if [ $? -ne 0 ] ; then
  46. merr "Creating database failed!"
  47. exit 1
  48. fi
  49. #sql_query "$1" "CREATE FUNCTION "concat" (text,text) RETURNS text AS 'SELECT \$1 || \$2;' LANGUAGE 'sql';
  50. # CREATE FUNCTION "rand" () RETURNS double precision AS 'SELECT random();' LANGUAGE 'sql';"
  51. # emulate mysql proprietary functions used by the lcr module in postgresql
  52. #if [ $? -ne 0 ] ; then
  53. # merr "Creating mysql emulation functions failed!"
  54. # exit 1
  55. #fi
  56. for TABLE in $STANDARD_MODULES; do
  57. mdbg "Creating core table: $TABLE"
  58. sql_query "$1" < $DB_SCHEMA/$TABLE-create.sql
  59. if [ $? -ne 0 ] ; then
  60. merr "Creating core tables failed!"
  61. exit 1
  62. fi
  63. done
  64. if [ -e $DB_SCHEMA/extensions-create.sql ]
  65. then
  66. minfo "Creating custom extensions tables"
  67. sql_query $1 < $DB_SCHEMA/extensions-create.sql
  68. if [ $? -ne 0 ] ; then
  69. merr "Creating custom extensions tables failed!"
  70. exit 1
  71. fi
  72. fi
  73. minfo "Core Kamailio tables succesfully created."
  74. get_answer $INSTALL_PRESENCE_TABLES "Install presence related tables? (y/n): "
  75. if [ "$ANSWER" = "y" ]; then
  76. presence_create $1
  77. fi
  78. get_answer $INSTALL_EXTRA_TABLES "Install tables for $EXTRA_MODULES? (y/n): "
  79. if [ "$ANSWER" = "y" ]; then
  80. extra_create $1
  81. fi
  82. } # kamailio_create
  83. presence_create () # pars: <database name>
  84. {
  85. if [ $# -ne 1 ] ; then
  86. merr "presence_create function takes one param"
  87. exit 1
  88. fi
  89. minfo "creating presence tables into $1 ..."
  90. sql_query "$1" < $DB_SCHEMA/presence-create.sql
  91. if [ $? -ne 0 ] ; then
  92. merr "Failed to create presence tables!"
  93. exit 1
  94. fi
  95. sql_query "$1" < $DB_SCHEMA/rls-create.sql
  96. if [ $? -ne 0 ] ; then
  97. merr "Failed to create rls-presence tables!"
  98. exit 1
  99. fi
  100. minfo "Presence tables succesfully created."
  101. } # end presence_create
  102. extra_create () # pars: <database name>
  103. {
  104. if [ $# -ne 1 ] ; then
  105. merr "extra_create function takes one param"
  106. exit 1
  107. fi
  108. minfo "creating extra tables into $1 ..."
  109. for TABLE in $EXTRA_MODULES; do
  110. mdbg "Creating extra table: $TABLE"
  111. sql_query "$1" < $DB_SCHEMA/$TABLE-create.sql
  112. if [ $? -ne 0 ] ; then
  113. merr "Creating extra tables failed!"
  114. exit 1
  115. fi
  116. done
  117. minfo "Extra tables succesfully created."
  118. } # end extra_create