Browse Source

modify parsing process for migrate-mongo

Yuki Takei 6 years ago
parent
commit
32f432e75f
1 changed files with 14 additions and 8 deletions
  1. 14 8
      config/migrate.js

+ 14 - 8
config/migrate.js

@@ -7,20 +7,26 @@
 
 
 require('module-alias/register');
 require('module-alias/register');
 
 
+const { URL } = require('url');
+
 const { getMongoUri } = require('@commons/util/mongoose-utils');
 const { getMongoUri } = require('@commons/util/mongoose-utils');
 
 
 const mongoUri = getMongoUri();
 const mongoUri = getMongoUri();
-const match = mongoUri.match(/^(.+)\/([^/]+)$/);
+
+// parse url
+const url = new URL(mongoUri);
+
+const mongodb = {
+  url: `${url.protocol}//${url.host}`,
+  databaseName: url.pathname.substring(1), // omit heading slash
+  options: {
+    useNewUrlParser: true, // removes a deprecation warning when connecting
+  },
+};
 
 
 module.exports = {
 module.exports = {
   mongoUri,
   mongoUri,
-  mongodb: {
-    url: match[0],
-    databaseName: match[2],
-    options: {
-      useNewUrlParser: true, // removes a deprecation warning when connecting
-    },
-  },
+  mongodb,
   migrationsDir: 'src/migrations/',
   migrationsDir: 'src/migrations/',
   changelogCollectionName: 'migrations',
   changelogCollectionName: 'migrations',
 };
 };