2
0

migrate-mongo-config.js 993 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. /**
  2. * Configuration file for migrate-mongo
  3. * @see https://github.com/seppevs/migrate-mongo
  4. *
  5. * @author Yuki Takei <yuki@weseek.co.jp>
  6. */
  7. const isProduction = process.env.NODE_ENV === 'production';
  8. const { URL } = require('url');
  9. const { initMongooseGlobalSettings, getMongoUri, mongoOptions } = isProduction
  10. // eslint-disable-next-line import/extensions, import/no-unresolved
  11. ? require('../dist/server/util/mongoose-utils')
  12. : require('../src/server/util/mongoose-utils');
  13. // get migrationsDir from env var
  14. const migrationsDir = process.env.MIGRATIONS_DIR;
  15. if (migrationsDir == null) {
  16. throw new Error('An env var MIGRATIONS_DIR must be set.');
  17. }
  18. initMongooseGlobalSettings();
  19. const mongoUri = getMongoUri();
  20. // parse url
  21. const url = new URL(mongoUri);
  22. const mongodb = {
  23. url: mongoUri,
  24. databaseName: url.pathname.substring(1), // omit heading slash
  25. options: mongoOptions,
  26. };
  27. module.exports = {
  28. mongodb,
  29. migrationsDir,
  30. changelogCollectionName: 'migrations',
  31. };