diff --git a/.travis.yml b/.travis.yml index 275cd5b133..c4015220dc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -98,11 +98,15 @@ script: - (cd /tmp/travis/nondockertestgeomapfish/; ./docker-run rm /build/c2ctemplate-cache.json) - "(cd /tmp/travis/nondockertestgeomapfish/; \ ./docker-run make --makefile=empty-vars.mk geoportal/config.yaml)" - - (cd /tmp/travis/nondockertestgeomapfish/; ./docker-run make --makefile=travis.mk alembic.ini) - - (cd /tmp/travis/nondockertestgeomapfish/; ./docker-run alembic --name=main upgrade head) - - (cd /tmp/travis/nondockertestgeomapfish/; ./docker-run alembic --name=static upgrade head) - - (cd /tmp/travis/nondockertestgeomapfish/; ./docker-run alembic --name=static downgrade base) - - (cd /tmp/travis/nondockertestgeomapfish/; ./docker-run alembic --name=main downgrade base) + - (cd /tmp/travis/nondockertestgeomapfish/; ./docker-run make --makefile=travis.mk geoportal/alembic.ini) + - "(cd /tmp/travis/nondockertestgeomapfish/; \ + ./docker-run alembic --config=geoportal/alembic.ini --name=main upgrade head)" + - "(cd /tmp/travis/nondockertestgeomapfish/; \ + ./docker-run alembic --config=geoportal/alembic.ini --name=static upgrade head)" + - "(cd /tmp/travis/nondockertestgeomapfish/; \ + ./docker-run alembic --config=geoportal/alembic.ini --name=static downgrade base)" + - "(cd /tmp/travis/nondockertestgeomapfish/; \ + ./docker-run alembic --config=geoportal/alembic.ini --name=main downgrade base)" ## END FOR NON DOCKER TESTS - ./docker-run make doc diff --git a/Jenkinsfile b/Jenkinsfile index 71f3f15c3b..c6b9b8a819 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -153,12 +153,12 @@ dockerBuild { -name \\*.py | xargs travis/squote''' sh '(cd ${HOME}/workspace/testgeomapfish/; ./docker-run travis/status.sh)' sh '(cd ${HOME}/workspace/testgeomapfish/; ./docker-run make --makefile=empty-vars.mk geoportal/config.yaml)' - sh '(cd ${HOME}/workspace/testgeomapfish/; ./docker-run make --makefile=travis.mk alembic.ini)' + sh '(cd ${HOME}/workspace/testgeomapfish/; ./docker-run make --makefile=travis.mk geoportal/alembic.ini)' try { - sh '(cd ${HOME}/workspace/testgeomapfish/; ./docker-compose-run alembic --name=main upgrade head)' - sh '(cd ${HOME}/workspace/testgeomapfish/; ./docker-compose-run alembic --name=static upgrade head)' - sh '(cd ${HOME}/workspace/testgeomapfish/; ./docker-compose-run alembic --name=static downgrade base)' - sh '(cd ${HOME}/workspace/testgeomapfish/; ./docker-compose-run alembic --name=main downgrade base)' + sh '(cd ${HOME}/workspace/testgeomapfish/; ./docker-compose-run alembic --config=geoportal/alembic.ini --name=main upgrade head)' + sh '(cd ${HOME}/workspace/testgeomapfish/; ./docker-compose-run alembic --config=geoportal/alembic.ini --name=static upgrade head)' + sh '(cd ${HOME}/workspace/testgeomapfish/; ./docker-compose-run alembic --config=geoportal/alembic.ini --name=static downgrade base)' + sh '(cd ${HOME}/workspace/testgeomapfish/; ./docker-compose-run alembic --config=geoportal/alembic.ini --name=main downgrade base)' } catch (Exception error) { sh '(cd ${HOME}/workspace/testgeomapfish/; docker-compose --file=docker-compose-build.yaml logs)' throw error diff --git a/geoportal/c2cgeoportal_geoportal/scaffolds/create/+dot+gitignore_tmpl b/geoportal/c2cgeoportal_geoportal/scaffolds/create/+dot+gitignore_tmpl index 84db93d206..0d8e4b8469 100644 --- a/geoportal/c2cgeoportal_geoportal/scaffolds/create/+dot+gitignore_tmpl +++ b/geoportal/c2cgeoportal_geoportal/scaffolds/create/+dot+gitignore_tmpl @@ -5,7 +5,7 @@ __pycache__/ /project.yaml /docker-compose.yaml /docker-compose-build.yaml -/alembic.yaml +/geoportal/alembic.yaml /testdb/11-schemas.sql /testdb/12-alembic.sql /testdb/13-alembic-static.sql diff --git a/geoportal/c2cgeoportal_geoportal/scaffolds/create/docker-compose.yaml.mako b/geoportal/c2cgeoportal_geoportal/scaffolds/create/docker-compose.yaml.mako index f9f8430a88..26749019a6 100644 --- a/geoportal/c2cgeoportal_geoportal/scaffolds/create/docker-compose.yaml.mako +++ b/geoportal/c2cgeoportal_geoportal/scaffolds/create/docker-compose.yaml.mako @@ -66,6 +66,15 @@ ${service_defaults('tilecloudchain')}\ - /var/sig:/var/sig:ro ${service_defaults('geoportal', 8080)}\ + alembic: + image: ${docker_base}-geoportal:${docker_tag} + command: + - alembic + - --name=static + - upgrade + - head +${service_defaults('geoportal', 80)}\ + front: image: haproxy:1.8 volumes_from: diff --git a/geoportal/c2cgeoportal_geoportal/scaffolds/create/geoportal/+dot+dockerignore_tmpl b/geoportal/c2cgeoportal_geoportal/scaffolds/create/geoportal/+dot+dockerignore_tmpl index 1de7eaac11..55209ccd93 100644 --- a/geoportal/c2cgeoportal_geoportal/scaffolds/create/geoportal/+dot+dockerignore_tmpl +++ b/geoportal/c2cgeoportal_geoportal/scaffolds/create/geoportal/+dot+dockerignore_tmpl @@ -1,5 +1,6 @@ * !alembic.ini +!alembic.yaml !config.yaml !eval_templates.sh !production.ini diff --git a/geoportal/c2cgeoportal_geoportal/scaffolds/create/alembic.ini b/geoportal/c2cgeoportal_geoportal/scaffolds/create/geoportal/alembic.ini similarity index 100% rename from geoportal/c2cgeoportal_geoportal/scaffolds/create/alembic.ini rename to geoportal/c2cgeoportal_geoportal/scaffolds/create/geoportal/alembic.ini diff --git a/geoportal/c2cgeoportal_geoportal/scaffolds/nondockercreate/+dot+gitignore_tmpl b/geoportal/c2cgeoportal_geoportal/scaffolds/nondockercreate/+dot+gitignore_tmpl index 33cf2ee95d..8baa5065fe 100644 --- a/geoportal/c2cgeoportal_geoportal/scaffolds/nondockercreate/+dot+gitignore_tmpl +++ b/geoportal/c2cgeoportal_geoportal/scaffolds/nondockercreate/+dot+gitignore_tmpl @@ -7,7 +7,7 @@ __pycache__/ /docker-compose.yaml /docker-compose-build.yaml /admin/ -/alembic.yaml +/geoportal/alembic.yaml /testdb/11-schemas.sql /testdb/12-alembic.sql /testdb/13-alembic-static.sql diff --git a/geoportal/c2cgeoportal_geoportal/scaffolds/nondockercreate/deploy/hooks/pre-restore-database.mako b/geoportal/c2cgeoportal_geoportal/scaffolds/nondockercreate/deploy/hooks/pre-restore-database.mako index 163b0eb84c..7ad1b4d44b 100755 --- a/geoportal/c2cgeoportal_geoportal/scaffolds/nondockercreate/deploy/hooks/pre-restore-database.mako +++ b/geoportal/c2cgeoportal_geoportal/scaffolds/nondockercreate/deploy/hooks/pre-restore-database.mako @@ -37,5 +37,5 @@ psql -c 'GRANT ALL ON SCHEMA "${schema_static}" TO "${dbuser}";' ${db} psql -c 'GRANT ALL ON ALL TABLES IN SCHEMA "${schema_static}" TO "${dbuser}";' ${db} psql -c 'ALTER TABLE main_static.shorturl OWNER TO "www-data";' ${db} -./docker-run make --makefile=$TARGET.mk alembic.ini alembic.yaml +./docker-run make --makefile=$TARGET.mk geoportal/alembic.ini geoportal/alembic.yaml ./docker-run alembic --name=static upgrade head diff --git a/geoportal/c2cgeoportal_geoportal/scaffolds/nondockercreate/nondocker-override.mk b/geoportal/c2cgeoportal_geoportal/scaffolds/nondockercreate/nondocker-override.mk index b2085b50e6..32481e1ac4 100644 --- a/geoportal/c2cgeoportal_geoportal/scaffolds/nondockercreate/nondocker-override.mk +++ b/geoportal/c2cgeoportal_geoportal/scaffolds/nondockercreate/nondocker-override.mk @@ -38,8 +38,8 @@ CONF_FILES += $(shell ls -1 apache/*.conf 2> /dev/null) $(CONF_FILES_MAKO:.mako= DEFAULT_BUILD_RULES ?= docker-build-geoportal \ docker-build-config \ project.yaml \ - alembic.ini \ - alembic.yaml + geoportal/alembic.ini \ + geoportal/alembic.yaml TILECLOUD_CHAIN ?= TRUE ifeq ($(TILECLOUD_CHAIN), TRUE) diff --git a/geoportal/c2cgeoportal_geoportal/scaffolds/nondockerupdate/+dot+upgrade.yaml_tmpl b/geoportal/c2cgeoportal_geoportal/scaffolds/nondockerupdate/+dot+upgrade.yaml_tmpl index 2b3d28e034..8ecbf99ae0 100644 --- a/geoportal/c2cgeoportal_geoportal/scaffolds/nondockerupdate/+dot+upgrade.yaml_tmpl +++ b/geoportal/c2cgeoportal_geoportal/scaffolds/nondockerupdate/+dot+upgrade.yaml_tmpl @@ -99,7 +99,7 @@ files_to_move: to: vars.yaml version: 2.3 - from: alembic.ini.mako - to: alembic.ini + to: geoportal/alembic.ini version: 2.3 - from: docker-compose.yml.mako to: docker-compose.yaml.mako @@ -167,3 +167,6 @@ files_to_move: - from: front/haproxy.cfg to: front/haproxy.cfg.tmpl version: 2.3 + - from: alembic.ini + to: geoportal/alembic.ini + version: 2.3 diff --git a/geoportal/c2cgeoportal_geoportal/scaffolds/update/+dot+upgrade.yaml_tmpl b/geoportal/c2cgeoportal_geoportal/scaffolds/update/+dot+upgrade.yaml_tmpl index c41e56dd88..6a3cc44dee 100644 --- a/geoportal/c2cgeoportal_geoportal/scaffolds/update/+dot+upgrade.yaml_tmpl +++ b/geoportal/c2cgeoportal_geoportal/scaffolds/update/+dot+upgrade.yaml_tmpl @@ -142,7 +142,7 @@ files_to_move: to: Makefile version: 2.3 - from: alembic.ini.mako - to: alembic.ini + to: geoportal/alembic.ini version: 2.3 - from: docker-compose.yml.mako to: docker-compose.yaml.mako @@ -204,3 +204,6 @@ files_to_move: - from: front/haproxy.cfg to: front/haproxy.cfg.tmpl version: 2.3 + - from: alembic.ini + to: geoportal/alembic.ini + version: 2.3 diff --git a/geoportal/c2cgeoportal_geoportal/scaffolds/update/CONST_Makefile_tmpl b/geoportal/c2cgeoportal_geoportal/scaffolds/update/CONST_Makefile_tmpl index 044270e7c5..fb650f57e5 100644 --- a/geoportal/c2cgeoportal_geoportal/scaffolds/update/CONST_Makefile_tmpl +++ b/geoportal/c2cgeoportal_geoportal/scaffolds/update/CONST_Makefile_tmpl @@ -82,8 +82,8 @@ WEB_RULE ?= $(DEFAULT_WEB_RULE) DEFAULT_BUILD_RULES ?= docker-build-geoportal \ docker-build-config \ project.yaml \ - alembic.ini \ - alembic.yaml \ + geoportal/alembic.ini \ + geoportal/alembic.yaml \ docker-compose.yaml \ docker-compose-build.yaml @@ -393,7 +393,7 @@ checks: flake8 $(CLIENT_CHECK_RULE) git-attributes yamllint spell git-attributes: git --no-pager diff --check `git log --oneline | tail -1 | cut --fields=1 --delimiter=' '` -YAML_FILES ?= $(filter-out ./tilegeneration/config.yaml ./geoportal/config.yaml ./alembic.yaml,$(shell find \ +YAML_FILES ?= $(filter-out ./tilegeneration/config.yaml ./geoportal/config.yaml ./geoportal/alembic.yaml,$(shell find \ -name .build -prune -or \ -name cgxp -prune -or \ -name node_modules -prune -or \ @@ -417,7 +417,7 @@ clean: template-clean $(OUTPUT_DIR)/ \ $(APP_OUTPUT_DIR)/ \ geoportal/$(PACKAGE)_geoportal/locale/$(PACKAGE)-*.pot \ - alembic.yaml \ + geoportal/alembic.yaml \ .UPGRADE* \ mapcache \ $(addprefix geoportal/$(PACKAGE)_geoportal/locale/, $(addsuffix /LC_MESSAGES/$(PACKAGE)_geoportal-$(L10N_CLIENT_POSTFIX).mo, $(LANGUAGES))) \ @@ -456,7 +456,7 @@ build-cgxp: $(JSBUILD_OUTPUT_FILES) $(CSS_CGXP_OUTPUT) lint-ngeo: /build/eslint.timestamp .PHONY: upgrade-db -upgrade-db: alembic.ini alembic.yaml +upgrade-db: geoportal/alembic.ini geoportal/alembic.yaml alembic --name=main upgrade head alembic --name=static upgrade head @@ -708,7 +708,7 @@ push-docker: docker push $(DOCKER_BASE)-geoportal:$(DOCKER_TAG) docker push $(DOCKER_BASE)-mapserver:$(DOCKER_TAG) -alembic.yaml: $(ALEMBIC_YAML_FILE) vars.yaml CONST_vars.yaml +geoportal/alembic.yaml: $(ALEMBIC_YAML_FILE) vars.yaml CONST_vars.yaml $(PRERULE_CMD) c2c-template --vars $< --get-config /build/_alembic.yaml srid schema schema_static sqlalchemy.url cache mv /build/_alembic.yaml $@ @@ -721,13 +721,13 @@ testdb/11-schemas.sql: $(ALEMBIC_YAML_FILE) testdb/11-schemas.sql_mako vars.yaml --files testdb/11-schemas.sql.mako rm testdb/11-schemas.sql.mako -testdb/12-alembic.sql: alembic.ini alembic.yaml $(shell ls -1 /opt/alembic/main/*.py) +testdb/12-alembic.sql: geoportal/alembic.ini geoportal/alembic.yaml $(shell ls -1 /opt/alembic/main/*.py) $(PRERULE_CMD) - alembic --name=main upgrade --sql head > $@ + alembic --config=$< --name=main upgrade --sql head > $@ -testdb/13-alembic-static.sql: alembic.ini alembic.yaml $(shell ls -1 /opt/alembic/static/*.py) +testdb/13-alembic-static.sql: geoportal/alembic.ini geoportal/alembic.yaml $(shell ls -1 /opt/alembic/static/*.py) $(PRERULE_CMD) - alembic --name=static upgrade --sql head > $@ + alembic --config=$< --name=static upgrade --sql head > $@ .PHONY: docker-build-testdb docker-build-testdb: testdb/11-schemas.sql testdb/12-alembic.sql testdb/13-alembic-static.sql \ diff --git a/geoportal/c2cgeoportal_geoportal/scripts/c2cupgrade.py b/geoportal/c2cgeoportal_geoportal/scripts/c2cupgrade.py index fd9ede953c..d6f5084dc8 100644 --- a/geoportal/c2cgeoportal_geoportal/scripts/c2cupgrade.py +++ b/geoportal/c2cgeoportal_geoportal/scripts/c2cupgrade.py @@ -645,8 +645,8 @@ def step11(self, step): check_call(["make", "--makefile=" + self.options.new_makefile, "build"]) if self.options.nondocker: - command.upgrade(Config("alembic.ini", ini_section="main"), "head") - command.upgrade(Config("alembic.ini", ini_section="static"), "head") + command.upgrade(Config("geoportal/alembic.ini", ini_section="main"), "head") + command.upgrade(Config("geoportal/alembic.ini", ini_section="static"), "head") args = " --makefile={}".format(self.options.makefile) \ if self.options.makefile != "Makefile" else "" diff --git a/travis/create-new-nondocker-project.sh b/travis/create-new-nondocker-project.sh index c2403d3e65..eb34badd12 100755 --- a/travis/create-new-nondocker-project.sh +++ b/travis/create-new-nondocker-project.sh @@ -44,14 +44,14 @@ sudo a2enmod fcgid # Minimal build ./docker-run make --makefile=travis.mk \ build \ - alembic.ini \ - alembic.yaml \ + geoportal/alembic.ini \ + geoportal/alembic.yaml \ geoportal/production.ini \ geoportal/config.yaml \ docker-compose-build.yaml docker-build-testdb FINALISE=TRUE make --makefile=travis.mk build -./docker-run alembic --name=main upgrade head -./docker-run alembic --name=static upgrade head +./docker-run alembic --config=geoportal/alembic.ini --name=main upgrade head +./docker-run alembic --config=geoportal/alembic.ini --name=static upgrade head # Create default theme ./docker-run /build/venv/bin/python /usr/local/bin/create-demo-theme ./docker-run make --makefile=travis.mk update-po