-/*
- This is just an example.
-*/
+'use strict'
-// utils = { transaction, queryInterface }
-exports.up = function (utils, callback) {
+const waterfall = require('async/waterfall')
+
+// utils = { transaction, queryInterface, sequelize, Sequelize }
+exports.up = function (utils, finalCallback) {
const q = utils.queryInterface
const Sequelize = utils.Sequelize
const data = {
type: Sequelize.STRING(400),
- allowNull: false
+ allowNull: false,
+ defaultValue: ''
}
- q.addColumn('Pods', 'email', data, { transaction: utils.transaction }).asCallback(callback)
+ waterfall([
+
+ function addEmailColumn (callback) {
+ q.addColumn('Pods', 'email', data, { transaction: utils.transaction }).asCallback(function (err) {
+ return callback(err)
+ })
+ },
+
+ function updateWithFakeEmails (callback) {
+ const query = 'UPDATE "Pods" SET "email" = \'dummy@example.com\''
+ utils.sequelize.query(query, { transaction: utils.transaction }).asCallback(function (err) {
+ return callback(err)
+ })
+ },
+
+ function nullOnDefault (callback) {
+ data.defaultValue = null
+
+ q.changeColumn('Pods', 'email', data, { transaction: utils.transaction }).asCallback(callback)
+ }
+ ], finalCallback)
}
exports.down = function (options, callback) {