Socket
Socket
Sign inDemoInstall

db-migrate-pg

Package Overview
Dependencies
Maintainers
1
Versions
42
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

db-migrate-pg - npm Package Compare versions

Comparing version 0.4.0 to 0.5.0

11

CHANGELOG.md

@@ -0,1 +1,12 @@

<a name="0.5.0"></a>
# [0.5.0](https://github.com/db-migrate/pg/compare/v0.4.0...v0.5.0) (2019-02-11)
### Features
* **defaultValue:** add advanced handling for defaultValues ([a13c0e0](https://github.com/db-migrate/pg/commit/a13c0e0))
* **defaultValue:** add support for timestamps and add internal handling ([46f01a2](https://github.com/db-migrate/pg/commit/46f01a2))
<a name="0.4.0"></a>

@@ -2,0 +13,0 @@ # [0.4.0](https://github.com/db-migrate/pg/compare/v0.3.1...v0.4.0) (2018-04-02)

141

index.js

@@ -10,3 +10,3 @@ var util = require('util');

var PgDriver = Base.extend({
init: function (connection, schema, intern) {
init: function(connection, schema, intern) {
this.log = intern.mod.log;

@@ -21,3 +21,3 @@ this.type = intern.mod.type;

startMigration: function (cb) {
startMigration: function(cb) {
if (!this.internals.notransactions) {

@@ -28,3 +28,3 @@ return this.runSql('BEGIN;').nodeify(cb);

endMigration: function (cb) {
endMigration: function(cb) {
if (!this.internals.notransactions) {

@@ -35,6 +35,6 @@ return this.runSql('COMMIT;').nodeify(cb);

createColumnDef: function (name, spec, options, tableName) {
createColumnDef: function(name, spec, options, tableName) {
// add support for datatype timetz, timestamptz
// https://www.postgresql.org/docs/9.5/static/datatype.html
spec.type = spec.type.replace(/^(time|timestamp)tz$/, function ($, type) {
spec.type = spec.type.replace(/^(time|timestamp)tz$/, function($, type) {
spec.timezone = true;

@@ -63,3 +63,19 @@ return type;

mapDataType: function (str) {
_translateSpecialDefaultValues: function(
spec,
options,
tableName,
columnName
) {
switch (spec.defaultValue.special) {
case 'CURRENT_TIMESTAMP':
spec.defaultValue.prep = 'CURRENT_TIMESTAMP';
break;
default:
this.super(spec, options, tableName, columnName);
break;
}
},
mapDataType: function(str) {
switch (str) {

@@ -79,3 +95,3 @@ case 'json':

createDatabase: function (dbName, options, callback) {
createDatabase: function(dbName, options, callback) {
var spec = '';

@@ -91,3 +107,3 @@

dropDatabase: function (dbName, options, callback) {
dropDatabase: function(dbName, options, callback) {
var ifExists = '';

@@ -106,3 +122,3 @@

createSequence: function (sqName, options, callback) {
createSequence: function(sqName, options, callback) {
var spec = '';

@@ -122,3 +138,3 @@ var temp = '';

switchDatabase: function (options, callback) {
switchDatabase: function(options, callback) {
if (typeof options === 'object') {

@@ -139,3 +155,3 @@ if (typeof options.database === 'string') {

dropSequence: function (dbName, options, callback) {
dropSequence: function(dbName, options, callback) {
var ifExists = '';

@@ -158,3 +174,3 @@ var rule = '';

createMigrationsTable: function (callback) {
createMigrationsTable: function(callback) {
var options = {

@@ -176,8 +192,4 @@ columns: {

.then(
function (result) {
if (
result &&
result.length > 0 &&
result[0].server_version_num
) {
function(result) {
if (result && result.length > 0 && result[0].server_version_num) {
var version = result[0].server_version_num;

@@ -187,3 +199,3 @@ var major = Math.floor(version / 10000);

var patch = Math.floor(version - major * 10000 - minor * 100);
version = major + '.' + minor + '.' + patch
version = major + '.' + minor + '.' + patch;
options.ifNotExists = semver.gte(version, '9.1.0');

@@ -199,11 +211,6 @@ }

// not all DBs support server_version_num, fall back to server_version
function () {
return this.all('show server_version')
.then(
function (result) {
if (
result &&
result.length > 0 &&
result[0].server_version
) {
function() {
return this.all('show server_version').then(
function(result) {
if (result && result.length > 0 && result[0].server_version) {
var version = result[0].server_version;

@@ -222,7 +229,7 @@ // handle versions like “10.2 (Ubuntu 10.2)”

}.bind(this)
)
);
}.bind(this)
)
.then(
function (result) {
function(result) {
var searchPath;

@@ -252,3 +259,3 @@ var searchPathes = result[0].search_path.split(',');

.then(
function () {
function() {
return this.all(

@@ -263,3 +270,3 @@ "SELECT table_name FROM information_schema.tables WHERE table_name = '" +

.then(
function (result) {
function(result) {
if (result && result && result.length < 1) {

@@ -275,3 +282,3 @@ return this.createTable(this.internals.migrationTable, options);

createSeedsTable: function (callback) {
createSeedsTable: function(callback) {
var options = {

@@ -293,3 +300,3 @@ columns: {

.then(
function (result) {
function(result) {
if (result && result && result.length > 0 && result[0].version) {

@@ -309,3 +316,3 @@ var version = result[0].version;

.then(
function (result) {
function(result) {
var searchPath;

@@ -326,3 +333,3 @@

.then(
function () {
function() {
return this.all(

@@ -337,3 +344,3 @@ "SELECT table_name FROM information_schema.tables WHERE table_name = '" +

.then(
function (result) {
function(result) {
if (result && result && result.length < 1) {

@@ -349,3 +356,3 @@ return this.createTable(this.internals.seedTable, options);

createColumnConstraint: function (spec, options, tableName, columnName) {
createColumnConstraint: function(spec, options, tableName, columnName) {
var constraint = [];

@@ -381,2 +388,4 @@ var callbacks = [];

constraint.push("'" + spec.defaultValue + "'");
} else if (typeof spec.defaultValue.prep === 'string') {
constraint.push(spec.defaultValue.prep);
} else {

@@ -394,3 +403,3 @@ constraint.push(spec.defaultValue);

callbacks.push(
function (tableName, columnName, comment, callback) {
function(tableName, columnName, comment, callback) {
var sql = util.format(

@@ -414,3 +423,3 @@ "COMMENT on COLUMN %s.%s IS '%s'",

renameTable: function (tableName, newTableName, callback) {
renameTable: function(tableName, newTableName, callback) {
var sql = util.format(

@@ -424,3 +433,3 @@ 'ALTER TABLE "%s" RENAME TO "%s"',

removeColumn: function (tableName, columnName, callback) {
removeColumn: function(tableName, columnName, callback) {
var sql = util.format(

@@ -435,3 +444,3 @@ 'ALTER TABLE "%s" DROP COLUMN "%s"',

renameColumn: function (tableName, oldColumnName, newColumnName, callback) {
renameColumn: function(tableName, oldColumnName, newColumnName, callback) {
var sql = util.format(

@@ -446,6 +455,6 @@ 'ALTER TABLE "%s" RENAME COLUMN "%s" TO "%s"',

changeColumn: function (tableName, columnName, columnSpec, callback) {
changeColumn: function(tableName, columnName, columnSpec, callback) {
return setNotNull.call(this);
function setNotNull () {
function setNotNull() {
var setOrDrop = columnSpec.notNull === true ? 'SET' : 'DROP';

@@ -462,3 +471,3 @@ var sql = util.format(

function setUnique (err) {
function setUnique(err) {
if (err) {

@@ -491,3 +500,3 @@ return Promise.reject(err);

function setDefaultValue (err) {
function setDefaultValue(err) {
if (err) {

@@ -524,3 +533,3 @@ return Promise.reject(err).nodeify(callback);

function setType () {
function setType() {
if (columnSpec.type !== undefined) {

@@ -531,6 +540,6 @@ var using =

: util.format(
'USING "%s"::%s',
columnName,
this.mapDataType(columnSpec.type)
);
'USING "%s"::%s',
columnName,
this.mapDataType(columnSpec.type)
);
var len = columnSpec.length

@@ -552,3 +561,3 @@ ? util.format('(%s)', columnSpec.length)

addForeignKey: function (
addForeignKey: function(
tableName,

@@ -566,3 +575,3 @@ referencedTableName,

var columns = Object.keys(fieldMapping);
var referencedColumns = columns.map(function (key) {
var referencedColumns = columns.map(function(key) {
return '"' + fieldMapping[key] + '"';

@@ -583,3 +592,3 @@ });

removeForeignKey: function (tableName, keyName, callback) {
removeForeignKey: function(tableName, keyName, callback) {
var sql = util.format(

@@ -593,3 +602,3 @@ 'ALTER TABLE "%s" DROP CONSTRAINT "%s"',

insert: function () {
insert: function() {
var index = 1;

@@ -601,3 +610,3 @@

arguments[index] = arguments[index].map(function (value) {
arguments[index] = arguments[index].map(function(value) {
return typeof value === 'string' ? value : JSON.stringify(value);

@@ -609,3 +618,3 @@ });

runSql: function () {
runSql: function() {
var callback;

@@ -639,4 +648,4 @@ var minLength = 1;

return new Promise(
function (resolve, reject) {
var prCB = function (err, data) {
function(resolve, reject) {
var prCB = function(err, data) {
return err ? reject(err) : resolve(data);

@@ -653,3 +662,3 @@ };

all: function () {
all: function() {
var params = arguments;

@@ -660,8 +669,8 @@

return new Promise(
function (resolve, reject) {
var prCB = function (err, data) {
function(resolve, reject) {
var prCB = function(err, data) {
return err ? reject(err) : resolve(data);
};
this.connection.query(params[0], function (err, result) {
this.connection.query(params[0], function(err, result) {
prCB(err, result ? result.rows : result);

@@ -673,3 +682,3 @@ });

close: function (callback) {
close: function(callback) {
this.connection.end();

@@ -684,3 +693,3 @@ if (typeof callback === 'function') {

exports.connect = function (config, intern, callback) {
exports.connect = function(config, intern, callback) {
internals = intern;

@@ -695,3 +704,3 @@

var db = config.db || new pg.Client(config);
db.connect(function (err) {
db.connect(function(err) {
if (err) {

@@ -698,0 +707,0 @@ callback(err);

{
"name": "db-migrate-pg",
"version": "0.4.0",
"version": "0.5.0",
"description": "A postgresql driver for db-migrate",

@@ -34,4 +34,4 @@ "main": "index.js",

"bluebird": "^3.1.1",
"db-migrate-base": "^1.5.2",
"pg": "^7.4.1",
"db-migrate-base": "^1.6.3",
"pg": "^7.8.0",
"semver": "^5.0.3"

@@ -38,0 +38,0 @@ },

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc