velocious 1.0.44 → 1.0.45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "velocious": "bin/velocious.js"
4
4
  },
5
5
  "name": "velocious",
6
- "version": "1.0.44",
6
+ "version": "1.0.45",
7
7
  "main": "index.js",
8
8
  "scripts": {
9
9
  "test": "jasmine",
@@ -20,7 +20,8 @@ export default class VelociousDatabaseDriversMssql extends Base{
20
20
  const sqlConfig = digg(args, "sqlConfig")
21
21
 
22
22
  try {
23
- this.connection = await mssql.connect(sqlConfig)
23
+ this.connection = new mssql.ConnectionPool(sqlConfig)
24
+ await this.connection.connect()
24
25
  } catch (error) {
25
26
  throw new Error(`Couldn't connect to database: ${error.message}`) // Re-throw to fix unuseable stack trace.
26
27
  }
@@ -52,6 +53,12 @@ export default class VelociousDatabaseDriversMssql extends Base{
52
53
  return createTable.toSql()
53
54
  }
54
55
 
56
+ async currentDatabase() {
57
+ const rows = await this.query("SELECT DB_NAME() AS db_name")
58
+
59
+ return digg(rows, 0, "db_name")
60
+ }
61
+
55
62
  async disableForeignKeys() {
56
63
  await this.query("EXEC sp_MSforeachtable \"ALTER TABLE ? NOCHECK CONSTRAINT all\"")
57
64
  }
@@ -76,7 +83,7 @@ export default class VelociousDatabaseDriversMssql extends Base{
76
83
  if (this._currentTransaction) {
77
84
  request = new mssql.Request(this._currentTransaction)
78
85
  } else {
79
- request = mssql
86
+ request = new mssql.Request(this.connection)
80
87
  }
81
88
 
82
89
  while (true) {
@@ -62,6 +62,12 @@ export default class VelociousDatabaseDriversMysql extends Base{
62
62
  return createTable.toSql()
63
63
  }
64
64
 
65
+ async currentDatabase() {
66
+ const rows = await this.query("SELECT DATABASE() AS db_name")
67
+
68
+ return digg(rows, 0, "db_name")
69
+ }
70
+
65
71
  async disableForeignKeys() {
66
72
  await this.query("SET FOREIGN_KEY_CHECKS = 0")
67
73
  }
@@ -70,6 +70,12 @@ export default class VelociousDatabaseDriversPgsql extends Base{
70
70
  return createTable.toSql()
71
71
  }
72
72
 
73
+ async currentDatabase() {
74
+ const rows = await this.query("SELECT CURRENT_DATABASE() AS db_name")
75
+
76
+ return digg(rows, 0, "db_name")
77
+ }
78
+
73
79
  async disableForeignKeys() {
74
80
  await this.query("SET session_replication_role = 'replica'")
75
81
  }
@@ -35,6 +35,10 @@ export default class VelociousDatabaseDriversSqliteBase extends Base {
35
35
  return createTable.toSql()
36
36
  }
37
37
 
38
+ currentDatabase() {
39
+ return null
40
+ }
41
+
38
42
  async disableForeignKeys() {
39
43
  await this.query("PRAGMA foreign_keys = 0")
40
44
  }
@@ -26,6 +26,8 @@ export default class VelociousDatabaseMigration {
26
26
  return this._databaseIdentifier
27
27
  }
28
28
 
29
+ getDriver() { return this._db }
30
+
29
31
  async addColumn(tableName, columnName, columnType, args) {
30
32
  const tableColumnArgs = Object.assign({type: columnType}, args)
31
33
 
@@ -101,7 +103,9 @@ export default class VelociousDatabaseMigration {
101
103
 
102
104
  if (!(idType in tableData)) throw new Error(`Unsupported primary key type: ${idType}`)
103
105
 
104
- tableData[idType]("id", {autoIncrement: true, default: idDefault, null: false, primaryKey: true})
106
+ if (id !== false) {
107
+ tableData[idType]("id", {autoIncrement: true, default: idDefault, null: false, primaryKey: true})
108
+ }
105
109
 
106
110
  if (callback) {
107
111
  callback(tableData)
@@ -76,6 +76,7 @@ export default class TableData {
76
76
  boolean = (name, args) => this._defineColumn(name, Object.assign({type: "boolean"}, args))
77
77
  datetime = (name, args) => this._defineColumn(name, Object.assign({type: "datetime"}, args))
78
78
  integer = (name, args = {}) => this._defineColumn(name, Object.assign({type: "integer"}, args))
79
+ tinyint = (name, args = {}) => this._defineColumn(name, Object.assign({type: "tinyint"}, args))
79
80
 
80
81
  references(name, args = {}) {
81
82
  const columnName = `${name}_id`