File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -7,6 +7,7 @@ export DOCKER_COMPOSE_YAML_MIDDLEWARES:=-f ./mt/mysql.yml -f ./mt/memcached.yml
77export UP_ARGS: =-d
88export MT_HOME_PATH: =${MAKEFILE_DIR}/../movabletype
99export UPDATE_BRANCH: =yes
10+ export CREATE_DATABASE_IF_NOT_EXISTS: =yes
1011export DOCKER_MT_CPANFILES: =t/cpanfile
1112
1213MT_CONFIG_CGI =${shell [ -e mt-config.cgi ] && echo mt-config.cgi || echo mt-config.cgi-original}
@@ -70,7 +71,7 @@ $(error You should create ${MT_CONFIG_CGI_SRC_PATH} first.)
7071endif
7172
7273_DC =${DOCKER_COMPOSE} -f ./mt/common.yml ${DOCKER_COMPOSE_YAML_MIDDLEWARES} ${_DC_YAML_OVERRIDE} ${DOCKER_COMPOSE_USER_YAML}
73-
74+ _DATABASE =${shell perl -ne 'print $$1 if /^Database\s+([\w-]+)/' < ${MT_CONFIG_CGI_SRC_PATH}}
7475
7576.PHONY : db up down
7677
@@ -147,6 +148,13 @@ up-common-invoke-docker-compose: setup-mysql-volume
147148 @echo DOCKER_MYSQL_IMAGE=${DOCKER_MYSQL_IMAGE}
148149 ${_DC} pull
149150 ${_DC} build
151+ ifeq (${CREATE_DATABASE_IF_NOT_EXISTS},yes)
152+ ${_DC} up db -d
153+ @while ! ${MAKE} exec-mysql MYSQL_COMMAND_ARGS="-e 'SELECT 1'" >/dev/null 2>&1; do \
154+ sleep 1; \
155+ done
156+ ${MAKE} exec-mysql MYSQL_COMMAND_ARGS="-e 'CREATE DATABASE IF NOT EXISTS \`${_DATABASE}\` /* DEFAULT CHARACTER SET utf8mb4 */;'"
157+ endif
150158 ${_DC} up ${UP_ARGS}
151159
152160
You can’t perform that action at this time.
0 commit comments