From 8fac6260a7b8499beb5fc3cb34bf61c103392f37 Mon Sep 17 00:00:00 2001 From: Sergey Peshkov Date: Mon, 15 Jun 2020 12:01:59 +0300 Subject: [PATCH] fix(environment): store seed data. Fixes MEMB-854 (#21) * fix(environment): store seed data. Fixes MEMB-854 * chore: forgot to commit gitignore here * chore: small fixes --- .dockerignore | 1 + docker/docker-compose.yml | 3 +++ docker/oms-core-js/Dockerfile | 1 + package.json | 6 +++--- scripts/seed.js | 4 +++- state/.gitignore | 1 + 6 files changed, 12 insertions(+), 4 deletions(-) create mode 100644 state/.gitignore diff --git a/.dockerignore b/.dockerignore index 354eebdb..cd0684cc 100755 --- a/.dockerignore +++ b/.dockerignore @@ -1,2 +1,3 @@ .git node_modules/ +state/ diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index f93b9cfb..5520d6bf 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -18,6 +18,7 @@ services: volumes: - oms-core-js-media:/usr/app/media - shared:/usr/app/shared:ro + - oms-core-js-state:/usr/app/src/state:rw depends_on: - postgres-oms-core-js expose: @@ -49,6 +50,8 @@ volumes: driver: local shared: driver: local + oms-core-js-state: + driver: local networks: default: diff --git a/docker/oms-core-js/Dockerfile b/docker/oms-core-js/Dockerfile index 820d5e5e..53fe6949 100644 --- a/docker/oms-core-js/Dockerfile +++ b/docker/oms-core-js/Dockerfile @@ -10,6 +10,7 @@ RUN apt-get install netcat -y COPY ./docker/oms-core-js/bootstrap.sh /usr/app/scripts/bootstrap.sh COPY ./docker/oms-core-js/wait.sh /usr/app/scripts/wait.sh COPY . /usr/app/src +RUN mkdir /usr/app/src/state RUN chown -R node:node /usr/app diff --git a/package.json b/package.json index 91fbc64d..e0dd6053 100644 --- a/package.json +++ b/package.json @@ -33,10 +33,10 @@ "lint:fix": "node_modules/.bin/eslint --fix .", "lint-staged": "lint-staged", "db:create": "sequelize db:create", - "db:setup": "sequelize db:drop; sequelize db:create; sequelize db:migrate; rm -f .seed-executed", + "db:setup": "sequelize db:drop; sequelize db:create; sequelize db:migrate; rm -f state/.seed-executed-$NODE_ENV", "db:migrate": "sequelize db:migrate", - "db:seed": "LOGLEVEL=info node --experimental-repl-await scripts/seed.js && touch .seed-executed", - "db:clear": "LOGLEVEL=info node --experimental-repl-await scripts/clear.js; rm -f .seed-executed", + "db:seed": "LOGLEVEL=info node --experimental-repl-await scripts/seed.js && touch state/.seed-executed-$NODE_ENV", + "db:clear": "LOGLEVEL=info node --experimental-repl-await scripts/clear.js; rm -f state/.seed-executed-$NODE_ENV", "cli": "node --experimental-repl-await -r ./cli.js", "open-coverage": "open-cli coverage/lcov-report/index.html" }, diff --git a/scripts/seed.js b/scripts/seed.js index a14457b1..6b28e84a 100644 --- a/scripts/seed.js +++ b/scripts/seed.js @@ -17,6 +17,8 @@ const { PasswordReset } = require('../models'); +const seedStatePath = path.resolve(__dirname, '../state/.seed-executed-' + (process.env.NODE_ENV || 'development')); + const data = {}; async function createAdmin() { @@ -936,7 +938,7 @@ async function createCampaign() { }); } -if (fs.existsSync(path.resolve(__dirname, '../.seed-executed'))) { +if (fs.existsSync(seedStatePath)) { logger.info('[seeds ]: Seed was executed already, no need to run it again.'); process.exit(0); } diff --git a/state/.gitignore b/state/.gitignore new file mode 100644 index 00000000..f16b78a0 --- /dev/null +++ b/state/.gitignore @@ -0,0 +1 @@ +.seed-executed*