|
@@ -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();
|
|
|
} );
|