Ein für Shopware 6 vorbereitet Systemmanagment.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

114 lines
4.2 KiB

  1. #!/bin/bash
  2. function usage {
  3. echo
  4. echoMainTitle "Create configuration files"
  5. echo
  6. echoSubTitle "Usage:"
  7. echo
  8. echo "project-manager db:create-config [project-shortname]"
  9. echo
  10. echo "--help Prints this message"
  11. echo
  12. }
  13. help="$(getParameter "--help" false "$*")"
  14. if [ "$help" == true ] || [ "$1" == "" ]
  15. then
  16. usage
  17. exit
  18. fi
  19. source "$project_manager_dir/bin/includes/project_header"
  20. dbValidate
  21. echo
  22. echoMainTitle "Creating db configuration"
  23. echo
  24. echoSubTitle "Please verify data"
  25. echo
  26. echo "Stage Socket: $db_stage_socket"
  27. echo "Stage Host: $db_stage_host"
  28. echo "Stage Port: $db_stage_port"
  29. echo "Stage Database: $db_stage_database"
  30. echo "Stage Admin User: $db_stage_admin_user"
  31. echo
  32. echo "Live Socket: $db_live_socket"
  33. echo "Live Host: $db_live_host"
  34. echo "Live Port: $db_live_port"
  35. echo "Live Database: $db_live_database"
  36. echo "Live Admin User: $db_live_admin_user"
  37. echo
  38. echo "Local Stage Socket: $db_local_stage_socket"
  39. echo "Local Stage Host: $db_local_stage_host"
  40. echo "Local Stage Port: $db_local_stage_port"
  41. echo "Local Stage Database: $db_local_stage_database"
  42. echo "Local Stage Admin User: $db_local_stage_admin_user"
  43. echo
  44. echo "Local Live Socket: $db_local_live_socket"
  45. echo "Local Live Host: $db_local_live_host"
  46. echo "Local Live Port: $db_local_live_port"
  47. echo "Local Live Database: $db_local_live_database"
  48. echo "Local Live Admin User: $db_local_live_admin_user"
  49. echo
  50. confirm
  51. template_file="$project_manager_dir/plugins/db/etc/.my.cnf_template"
  52. path="$project_manager_dir/data/$customer/$project"
  53. quoted_socket="$(sedEscape "$db_stage_socket")"
  54. quoted_password="$(sedEscape "$db_stage_password")"
  55. quoted_admin_password="$(sedEscape "$db_stage_admin_password")"
  56. cat "$template_file" | \
  57. sed "s/socket=/socket=$quoted_socket/" | \
  58. sed "s/host=/host=$db_stage_host/" | \
  59. sed "s/port=/port=$db_stage_port/" | \
  60. sed "s/database=/database=$db_stage_database/" | \
  61. sed "s/\[client\]/\[client\]\nuser=$db_stage_user\npassword=$quoted_password/" | \
  62. sed "s/\[clientadmin\]/\[clientadmin\]\nuser=$db_stage_admin_user\npassword=$quoted_admin_password/" \
  63. > "$path/etc/stage.my.cnf"
  64. quoted_socket="$(sedEscape "$db_live_socket")"
  65. quoted_password="$(sedEscape "$db_live_password")"
  66. quoted_admin_password="$(sedEscape "$db_live_admin_password")"
  67. cat "$template_file" | \
  68. sed "s/socket=/socket=$quoted_socket/" | \
  69. sed "s/host=/host=$db_live_host/" | \
  70. sed "s/port=/port=$db_live_port/" | \
  71. sed "s/database=/database=$db_live_database/" | \
  72. sed "s/\[client\]/\[client\]\nuser=$db_live_user\npassword=$quoted_password/" | \
  73. sed "s/\[clientadmin\]/\[clientadmin\]\nuser=$db_live_admin_user\npassword=$quoted_admin_password/" \
  74. > "$path/etc/live.my.cnf"
  75. quoted_socket="$(sedEscape "$db_local_stage_socket")"
  76. quoted_password="$(sedEscape "$db_local_stage_password")"
  77. quoted_admin_password="$(sedEscape "$db_local_stage_admin_password")"
  78. cat "$template_file" | \
  79. sed "s/socket=/socket=$quoted_socket/" | \
  80. sed "s/host=/host=$db_local_stage_host/" | \
  81. sed "s/port=/port=$db_local_stage_port/" | \
  82. sed "s/database=/database=$db_local_stage_database/" | \
  83. sed "s/\[client\]/\[client\]\nuser=$db_local_stage_user\npassword=$quoted_password/" | \
  84. sed "s/\[clientadmin\]/\[clientadmin\]\nuser=$db_local_stage_admin_user\npassword=$quoted_admin_password/" \
  85. > "$path/etc/local_stage.my.cnf"
  86. quoted_socket="$(sedEscape "$db_local_live_socket")"
  87. quoted_password="$(sedEscape "$db_local_live_password")"
  88. quoted_admin_password="$(sedEscape "$db_local_live_admin_password")"
  89. cat "$template_file" | \
  90. sed "s/socket=/socket=$quoted_socket/" | \
  91. sed "s/host=/host=$db_local_live_host/" | \
  92. sed "s/port=/port=$db_local_live_port/" | \
  93. sed "s/database=/database=$db_local_live_database/" | \
  94. sed "s/\[client\]/\[client\]\nuser=$db_local_live_user\npassword=$quoted_password/" | \
  95. sed "s/\[clientadmin\]/\[clientadmin\]\nuser=$db_local_live_admin_user\npassword=$quoted_admin_password/" \
  96. > "$path/etc/local_live.my.cnf"
  97. echo
  98. echoSubTitle "Running postscripts ..."
  99. postScript "$path/bin/postscripts/plugins/db/commands/create-config"
  100. postScript "$workspaces_dir/$customer/$project/bin/postscripts/plugins/db/commands/create-config"
  101. echo
  102. echoSuccess "Database configuration files created"
  103. echo