Просмотр исходного кода

Make database creation not depend on language

Markus-Rost 3 лет назад
Родитель
Сommit
bc869cc287
1 измененных файлов с 9 добавлено и 9 удалено
  1. 9 9
      database.js

+ 9 - 9
database.js

@@ -207,7 +207,15 @@ ALTER DATABASE "${process.env.PGDATABASE}" SET my.version TO 4;
 `];
 
 module.exports = db.connect().then( () => {
-	return db.query( 'SELECT CURRENT_SETTING($1) AS version', ['my.version'] ).then( ({rows:[row]}) => {
+	return db.query( 'SELECT CURRENT_SETTING($1, $2) AS version', ['my.version', true] ).then( ({rows:[row]}) => {
+		if ( row.version === null ) {
+			return db.query( schema[0] ).then( () => {
+				console.log( '- The database has been updated to: v' + schema.length );
+			}, dberror => {
+				console.log( '- Error while updating the database: ' + dberror );
+				return Promise.reject();
+			} );
+		}
 		row.version = parseInt(row.version, 10);
 		if ( isNaN(row.version) || row.version > schema.length ) {
 			console.log( '- Invalid database version: v' + row.version );
@@ -229,14 +237,6 @@ module.exports = db.connect().then( () => {
 			return Promise.reject();
 		} );
 	}, dberror => {
-		if ( dberror.message === 'unrecognized configuration parameter "my.version"' ) {
-			return db.query( schema[0] ).then( () => {
-				console.log( '- The database has been updated to: v' + schema.length );
-			}, dberror => {
-				console.log( '- Error while updating the database: ' + dberror );
-				return Promise.reject();
-			} );
-		}
 		console.log( '- Error while getting the database version: ' + dberror );
 		return Promise.reject();
 	} );