kamdbctl.sqlite 3.1 KB

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