diff --git a/configure-script.js b/configure-script.js index 8404d26..f464781 100644 --- a/configure-script.js +++ b/configure-script.js @@ -136,7 +136,7 @@ services: MYSQL_ROOT_PASSWORD: ${databaseRootPassword} volumes: - "./mysql:/var/lib/mysql" - - "./startup.sql:/docker-entrypoint-initdb.d/startup.sql:ro" + - "./startup.sql:/docker-entrypoint-initdb.d/startup.sql:ro" networks: - app-network @@ -175,7 +175,7 @@ RUN npm install COPY . /app EXPOSE 3000 ENTRYPOINT ["bash", "-c"] -CMD ["npm start"] +CMD ["sleep 10 && npm start"] `; const sqlfile = ` diff --git a/server/admin/bookkeeper.js b/server/admin/bookkeeper.js index 2951850..232a4a3 100644 --- a/server/admin/bookkeeper.js +++ b/server/admin/bookkeeper.js @@ -1,9 +1,12 @@ //DOCS: this whole file is just a big bugfix //DOCS: ensure that there is at least one administration account const bcrypt = require('bcryptjs'); +const sequelize = require('../database'); const { accounts } = require('../database/models'); const defaultAdminAccount = async () => { + await sequelize.sync(); //this whole file is just one big BUGFIX + const admin = await accounts.findOne({ where: { privilege: 'administrator' @@ -22,4 +25,4 @@ const defaultAdminAccount = async () => { } }; -module.exports = defaultAdminAccount; \ No newline at end of file +module.exports = defaultAdminAccount; diff --git a/server/database/index.js b/server/database/index.js index 7d01b93..1007d53 100644 --- a/server/database/index.js +++ b/server/database/index.js @@ -4,9 +4,9 @@ const sequelize = new Sequelize(process.env.DB_DATABASE, process.env.DB_USERNAME host: process.env.DB_HOSTNAME, dialect: 'mariadb', timezone: process.env.DB_TIMEZONE, - logging: false +// logging: false }); sequelize.sync(); -module.exports = sequelize; \ No newline at end of file +module.exports = sequelize; diff --git a/server/server.js b/server/server.js index a71b041..f530d95 100644 --- a/server/server.js +++ b/server/server.js @@ -15,8 +15,8 @@ const SequelizeStore = require("connect-session-sequelize")(session.Store); //database connection const database = require('./database'); -const models = require('./database/models'); //invoke all models +//setup the app middleware app.use(formidable()); app.use(cookieParser()); app.use(session({ @@ -28,6 +28,9 @@ app.use(session({ }) })); +//invoke all models +const models = require('./database/models'); + //account management app.use('/api/accounts', require('./accounts')); @@ -47,6 +50,7 @@ app.get('*', (req, res) => { }); //startup -server.listen(process.env.WEB_PORT || 3000, (err) => { +server.listen(process.env.WEB_PORT || 3000, async (err) => { + await database.sync(); console.log(`listening to localhost:${process.env.WEB_PORT || 3000}`); });