Skip to content

Commit 2b04b9a

Browse files
committed
Create database automatically by default.
1 parent 435d239 commit 2b04b9a

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

Makefile

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ export DOCKER_COMPOSE_YAML_MIDDLEWARES:=-f ./mt/mysql.yml -f ./mt/memcached.yml
77
export UP_ARGS:=-d
88
export MT_HOME_PATH:=${MAKEFILE_DIR}/../movabletype
99
export UPDATE_BRANCH:=yes
10+
export CREATE_DATABASE_IF_NOT_EXISTS:=yes
1011
export DOCKER_MT_CPANFILES:=t/cpanfile
1112

1213
MT_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.)
7071
endif
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

0 commit comments

Comments
 (0)