@@ -8,15 +8,16 @@ setup_database_docker_compose_dev() {
88 ;;
99 " pgsql" )
1010 projectinit_compose_has_root_volumes=1
11- # shellcheck source=pgsql/container/docker/v1/pqsql.sh
11+ projectinit_compose_has_secrets=1
12+ # shellcheck source=./pgsql/container/docker/v1/pqsql.sh
1213 source " ${tool_dir} /src/database/pgsql/container/docker/v1/pqsql.sh"
1314 setup_pgsql_docker_compose_dev
1415 setup_pgsql_dev_dockerfile
1516 ;;
1617 " mysql" )
1718 projectinit_compose_has_root_volumes=1
1819 projectinit_compose_has_secrets=1
19- # shellcheck source=mysql/container/docker/v1/mysql.sh
20+ # shellcheck source=./ mysql/container/docker/v1/mysql.sh
2021 source " ${tool_dir} /src/database/mysql/container/docker/v1/mysql.sh"
2122 setup_mysql_docker_compose_dev
2223 setup_mysql_my_cnf_dev
@@ -26,7 +27,7 @@ setup_database_docker_compose_dev() {
2627 " percona" )
2728 projectinit_compose_has_root_volumes=1
2829 projectinit_compose_has_secrets=1
29- # shellcheck source=percona/container/docker/v1/percona.sh
30+ # shellcheck source=./ percona/container/docker/v1/percona.sh
3031 source " ${tool_dir} /src/database/percona/container/docker/v1/percona.sh"
3132 setup_percona_docker_compose_dev
3233 setup_percona_my_cnf_dev
@@ -36,13 +37,22 @@ setup_database_docker_compose_dev() {
3637 " mariadb" )
3738 projectinit_compose_has_root_volumes=1
3839 projectinit_compose_has_secrets=1
39- # shellcheck source=mariadb/container/docker/v1/mariadb.sh
40+ # shellcheck source=./ mariadb/container/docker/v1/mariadb.sh
4041 source " ${tool_dir} /src/database/mariadb/container/docker/v1/mariadb.sh"
4142 setup_mariadb_docker_compose_dev
4243 setup_mariadb_my_cnf_dev
4344 setup_mariadb_dev_entrypoint
4445 setup_mariadb_dev_dockerfile
4546 ;;
47+ " mongodb" )
48+ projectinit_compose_has_root_volumes=1
49+ projectinit_compose_has_secrets=1
50+ # shellcheck source=./mongodb/container/docker/v1/mongodb.sh
51+ source " ${tool_dir} /src/database/mongodb/container/docker/v1/mongodb.sh"
52+ setup_mongodb_docker_compose_dev
53+ setup_mongodb_config_dev
54+ setup_mongodb_dev_entrypoint
55+ setup_mongodb_dev_dockerfile
4656 esac
4757
4858 if [ ! " ${projectinit_database_type} " = " no database" ]; then
@@ -57,42 +67,60 @@ setup_database_docker_compose_prod() {
5767 perl -i -ne ' print unless /~~~database creation and migration~~~/;' " ${project_root_dir} /projectinit_docker/prod/start.sh"
5868 ;;
5969 " pgsql" )
60- # shellcheck source=pgsql/container/docker/v1/pqsql.sh
70+ # shellcheck source=./ pgsql/container/docker/v1/pqsql.sh
6171 source " ${tool_dir} /src/database/pgsql/container/docker/v1/pqsql.sh"
6272 setup_pgsql_docker_compose_prod
6373 setup_pgsql_prod_dockerfile
6474 ;;
6575 " mysql" )
66- # shellcheck source=mysql/container/docker/v1/mysql.sh
76+ # shellcheck source=./ mysql/container/docker/v1/mysql.sh
6777 source " ${tool_dir} /src/database/mysql/container/docker/v1/mysql.sh"
6878 setup_mysql_docker_compose_prod
6979 setup_mysql_my_cnf_prod
7080 setup_mysql_prod_entrypoint
7181 setup_mysql_prod_dockerfile
7282 ;;
7383 " percona" )
74- # shellcheck source=percona/container/docker/v1/percona.sh
84+ # shellcheck source=./ percona/container/docker/v1/percona.sh
7585 source " ${tool_dir} /src/database/percona/container/docker/v1/percona.sh"
7686 setup_percona_docker_compose_prod
7787 setup_percona_my_cnf_prod
7888 setup_percona_prod_entrypoint
7989 setup_percona_prod_dockerfile
8090 ;;
8191 " mariadb" )
82- # shellcheck source=mariadb/container/docker/v1/mariadb.sh
92+ # shellcheck source=./ mariadb/container/docker/v1/mariadb.sh
8393 source " ${tool_dir} /src/database/mariadb/container/docker/v1/mariadb.sh"
8494 setup_mariadb_docker_compose_prod
8595 setup_mariadb_my_cnf_prod
8696 setup_mariadb_prod_entrypoint
8797 setup_mariadb_prod_dockerfile
8898 ;;
99+ " mongodb" )
100+ # shellcheck source=./mongodb/container/docker/v1/mongodb.sh
101+ source " ${tool_dir} /src/database/mongodb/container/docker/v1/mongodb.sh"
102+ setup_mongodb_docker_compose_prod
103+ setup_mongodb_config_prod
104+ setup_mongodb_prod_entrypoint
105+ setup_mongodb_prod_dockerfile
89106 esac
90107
91108 if [ ! " ${projectinit_database_type} " = " no database" ]; then
92109 perl -pi -e " s/(.*~~~main application dependencies~~~.*)/\1\n ${projectinit_database_service_name} :\n condition: service_healthy/" " ${project_root_dir} /projectinit_docker/prod/compose.yaml"
93110 fi
94111}
95112
113+ setup_database_dockerfile_installer () {
114+ local target_file
115+ target_file=" ${project_root_dir} /Dockerfile"
116+
117+ case " ${projectinit_database_type} " in
118+ " mongodb" )
119+ perl -pi -e " s/(.*~~~php extension~~~.*)/\1\n mongodb \\\\ /g" " ${target_file} "
120+ ;;
121+ esac
122+ }
123+
96124setup_database_dockerfile_dev () {
97125 local target_file
98126 target_file=" ${project_root_dir} /Dockerfile"
@@ -110,6 +138,9 @@ setup_database_dockerfile_dev() {
110138 " mariadb" )
111139 perl -pi -e " s/(.*~~~php extension~~~.*)/\1\n pdo_mysql \\\\ /g" " ${target_file} "
112140 ;;
141+ " mongodb" )
142+ perl -pi -e " s/(.*~~~php extension~~~.*)/\1\n mongodb \\\\ /g" " ${target_file} "
143+ ;;
113144 esac
114145}
115146
@@ -130,5 +161,8 @@ setup_database_dockerfile_prod() {
130161 " mariadb" )
131162 perl -pi -e " s/(.*~~~php extension~~~.*)/\1\n pdo_mysql \\\\ /g" " ${target_file} "
132163 ;;
164+ " mongodb" )
165+ perl -pi -e " s/(.*~~~php extension~~~.*)/\1\n mongodb \\\\ /g" " ${target_file} "
166+ ;;
133167 esac
134168}
0 commit comments