]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/initializers/migrations/0005-email-pod.js
Server: fix migration scripts
[github/Chocobozzz/PeerTube.git] / server / initializers / migrations / 0005-email-pod.js
1 'use strict'
2
3 const waterfall = require('async/waterfall')
4
5 // utils = { transaction, queryInterface, sequelize, Sequelize }
6 exports.up = function (utils, finalCallback) {
7 const q = utils.queryInterface
8 const Sequelize = utils.Sequelize
9
10 const data = {
11 type: Sequelize.STRING(400),
12 allowNull: false,
13 defaultValue: ''
14 }
15
16 waterfall([
17
18 function addEmailColumn (callback) {
19 q.addColumn('Pods', 'email', data, { transaction: utils.transaction }).asCallback(function (err) {
20 return callback(err)
21 })
22 },
23
24 function updateWithFakeEmails (callback) {
25 const query = 'UPDATE "Pods" SET "email" = \'dummy@example.com\''
26 utils.sequelize.query(query, { transaction: utils.transaction }).asCallback(function (err) {
27 return callback(err)
28 })
29 },
30
31 function nullOnDefault (callback) {
32 data.defaultValue = null
33
34 q.changeColumn('Pods', 'email', data, { transaction: utils.transaction }).asCallback(callback)
35 }
36 ], finalCallback)
37 }
38
39 exports.down = function (options, callback) {
40 throw new Error('Not implemented.')
41 }