]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - server/initializers/migrations/0005-email-pod.ts
Fix test (#71)
[github/Chocobozzz/PeerTube.git] / server / initializers / migrations / 0005-email-pod.ts
CommitLineData
65fcc311 1import { waterfall } from 'async'
5804c0db
C
2
3// utils = { transaction, queryInterface, sequelize, Sequelize }
65fcc311 4function up (utils, finalCallback) {
4793c343
C
5 const q = utils.queryInterface
6 const Sequelize = utils.Sequelize
7
8 const data = {
9 type: Sequelize.STRING(400),
5804c0db
C
10 allowNull: false,
11 defaultValue: ''
4793c343
C
12 }
13
5804c0db
C
14 waterfall([
15
16 function addEmailColumn (callback) {
17 q.addColumn('Pods', 'email', data, { transaction: utils.transaction }).asCallback(function (err) {
18 return callback(err)
19 })
20 },
21
22 function updateWithFakeEmails (callback) {
23 const query = 'UPDATE "Pods" SET "email" = \'dummy@example.com\''
24 utils.sequelize.query(query, { transaction: utils.transaction }).asCallback(function (err) {
25 return callback(err)
26 })
27 },
28
29 function nullOnDefault (callback) {
30 data.defaultValue = null
31
32 q.changeColumn('Pods', 'email', data, { transaction: utils.transaction }).asCallback(callback)
33 }
34 ], finalCallback)
4793c343
C
35}
36
65fcc311 37function down (options, callback) {
4793c343
C
38 throw new Error('Not implemented.')
39}
65fcc311
C
40
41export {
42 up,
43 down
44}