-import { waterfall } from 'async'
-
-// utils = { transaction, queryInterface, sequelize, Sequelize }
-function up (utils, finalCallback) {
+import * as Sequelize from 'sequelize'
+import * as Promise from 'bluebird'
+import { Migration } from '../../models/migrations'
+
+function up (utils: {
+ transaction: Sequelize.Transaction,
+ queryInterface: Sequelize.QueryInterface,
+ sequelize: Sequelize.Sequelize
+}): Promise<void> {
const q = utils.queryInterface
- const Sequelize = utils.Sequelize
const data = {
type: Sequelize.INTEGER,
allowNull: false,
defaultValue: 0
- }
-
- waterfall([
+ } as Migration.Integer
- function addLicenceColumn (callback) {
- q.addColumn('Videos', 'licence', data, { transaction: utils.transaction }).asCallback(function (err) {
- return callback(err)
- })
- },
-
- function nullOnDefault (callback) {
+ return q.addColumn('Videos', 'licence', data)
+ .then(() => {
data.defaultValue = null
-
- q.changeColumn('Videos', 'licence', data, { transaction: utils.transaction }).asCallback(callback)
- }
- ], finalCallback)
+ return q.changeColumn('Videos', 'licence', data)
+ })
}
-function down (options, callback) {
+function down (options) {
throw new Error('Not implemented.')
}