summaryrefslogtreecommitdiff
path: root/src/index.ts
diff options
context:
space:
mode:
authorAya Morisawa <AyaMorisawa4869@gmail.com>2018-11-11 14:27:00 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2018-11-11 14:27:00 +0900
commitb62203b1f13f273cd6fadfa9da2114dd5889d5ee (patch)
tree7e626bb6f3bed1a54454925324388406820b1ff5 /src/index.ts
parentfix self host detection (#3201) (diff)
downloadmisskey-b62203b1f13f273cd6fadfa9da2114dd5889d5ee.tar.gz
misskey-b62203b1f13f273cd6fadfa9da2114dd5889d5ee.tar.bz2
misskey-b62203b1f13f273cd6fadfa9da2114dd5889d5ee.zip
Check MongoDB version (#3185)
* Check MongoDB version * Fix bug
Diffstat (limited to 'src/index.ts')
-rw-r--r--src/index.ts17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/index.ts b/src/index.ts
index c68f617c09..70b61a59f3 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -14,7 +14,7 @@ import * as portscanner from 'portscanner';
import isRoot = require('is-root');
import Xev from 'xev';
import * as program from 'commander';
-import mongo from './db/mongodb';
+import mongo, { nativeDbConn } from './db/mongodb';
import Logger from './misc/logger';
import EnvironmentInfo from './misc/environmentInfo';
@@ -23,6 +23,7 @@ import serverStats from './daemons/server-stats';
import notesStats from './daemons/notes-stats';
import loadConfig from './config/load';
import { Config } from './config/types';
+import { lessThan } from './prelude/array';
const clusterLog = debug('misskey:cluster');
const ev = new Xev();
@@ -158,11 +159,19 @@ function checkMongoDb(config: Config) {
mongoDBLogger.info(`Connecting to ${uri}`);
mongo.then(() => {
+ nativeDbConn().then(db => db.admin().serverInfo()).then(x => x.version).then((version: string) => {
+ mongoDBLogger.info(`Version: ${version}`);
+ if (lessThan(version.split('.').map(x => parseInt(x, 10)), [3, 6])) {
+ mongoDBLogger.error(`MongoDB version is less than 3.6. Please upgrade it.`);
+ process.exit(1);
+ }
+ });
+
mongoDBLogger.succ('Connectivity confirmed');
})
- .catch(err => {
- mongoDBLogger.error(err.message);
- });
+ .catch(err => {
+ mongoDBLogger.error(err.message);
+ });
}
function spawnWorkers(limit: number) {