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.
65 lines
1.3 KiB
65 lines
1.3 KiB
#!/bin/bash
|
|
|
|
. lib/common
|
|
|
|
set -e
|
|
|
|
DBNAME="$(relation-get dbname)" || exit 1
|
|
|
|
initing="${GOGOCARTO_CODE}"/.initing-${DBNAME}
|
|
if [ -e "$initing" ]; then
|
|
exit 0
|
|
fi
|
|
|
|
|
|
inited="${GOGOCARTO_CODE}"/.inited-${DBNAME}
|
|
|
|
MONGO_URL=mongodb://${TARGET_SERVICE_NAME}:27017
|
|
|
|
|
|
cat <<EOF >> ${GOGOCARTO_CODE}/.env
|
|
|
|
###> doctrine/mongodb-odm-bundle ###
|
|
MONGODB_URL=$MONGO_URL
|
|
MONGODB_DATABASE=$DBNAME
|
|
###< doctrine/mongodb-odm-bundle ###
|
|
|
|
DATABASE_NAME=$DBNAME
|
|
|
|
EOF
|
|
|
|
touch "$initing"
|
|
trap_add EXIT,ERR "rm -v \"$initing\""
|
|
|
|
if [ -e "$inited" ]; then
|
|
{
|
|
## This is required for migrating to 3.4.10 correctly
|
|
compose --debug mongosh "$SERVICE_NAME" <<EOF &&
|
|
db.Configuration.findOneAndUpdate(
|
|
{ dbName : null },
|
|
{ \$set: { "dbName" : "$DBNAME"} }
|
|
);
|
|
EOF
|
|
|
|
info Removing cache before migration
|
|
rm -rf "$SERVICE_DATASTORE/var/cache/gogocarto/prod/"*
|
|
info Launch migration
|
|
symphony db:migrate
|
|
} || {
|
|
err "Mongo database migration failed."
|
|
exit 1
|
|
}
|
|
|
|
exit 0
|
|
fi
|
|
|
|
## came from ``Makefile`` in git's gogocarto source code. Target load-fixtures.
|
|
symphony doctrine:mongodb:schema:create &&
|
|
symphony doctrine:mongodb:generate:hydrators &&
|
|
symphony doctrine:mongodb:generate:proxies &&
|
|
symphony doctrine:mongodb:fixtures:load -n || {
|
|
err "Mongo database initialization failed."
|
|
exit 1
|
|
}
|
|
|
|
touch "$inited"
|