aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/initializers/migrations
diff options
context:
space:
mode:
authorChocobozzz <florian.bigard@gmail.com>2017-02-18 11:56:28 +0100
committerChocobozzz <florian.bigard@gmail.com>2017-02-18 12:13:33 +0100
commit5804c0db337ecf492fc61b98a3de7b730a0d8ce3 (patch)
tree83c0e8d8f10ec0f9ca269624feaba48970a7a0e3 /server/initializers/migrations
parentc1a7ab7f04fdb1601cf1e41c4e372dbd3c81f3de (diff)
downloadPeerTube-5804c0db337ecf492fc61b98a3de7b730a0d8ce3.tar.gz
PeerTube-5804c0db337ecf492fc61b98a3de7b730a0d8ce3.tar.zst
PeerTube-5804c0db337ecf492fc61b98a3de7b730a0d8ce3.zip
Server: fix migration scripts
Diffstat (limited to 'server/initializers/migrations')
-rw-r--r--server/initializers/migrations/0005-email-pod.js35
-rw-r--r--server/initializers/migrations/0010-email-user.js41
2 files changed, 69 insertions, 7 deletions
diff --git a/server/initializers/migrations/0005-email-pod.js b/server/initializers/migrations/0005-email-pod.js
index d90b674a1..9bbb354bf 100644
--- a/server/initializers/migrations/0005-email-pod.js
+++ b/server/initializers/migrations/0005-email-pod.js
@@ -1,18 +1,39 @@
1/* 1'use strict'
2 This is just an example.
3*/
4 2
5// utils = { transaction, queryInterface } 3const waterfall = require('async/waterfall')
6exports.up = function (utils, callback) { 4
5// utils = { transaction, queryInterface, sequelize, Sequelize }
6exports.up = function (utils, finalCallback) {
7 const q = utils.queryInterface 7 const q = utils.queryInterface
8 const Sequelize = utils.Sequelize 8 const Sequelize = utils.Sequelize
9 9
10 const data = { 10 const data = {
11 type: Sequelize.STRING(400), 11 type: Sequelize.STRING(400),
12 allowNull: false 12 allowNull: false,
13 defaultValue: ''
13 } 14 }
14 15
15 q.addColumn('Pods', 'email', data, { transaction: utils.transaction }).asCallback(callback) 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)
16} 37}
17 38
18exports.down = function (options, callback) { 39exports.down = function (options, callback) {
diff --git a/server/initializers/migrations/0010-email-user.js b/server/initializers/migrations/0010-email-user.js
new file mode 100644
index 000000000..1ab27133a
--- /dev/null
+++ b/server/initializers/migrations/0010-email-user.js
@@ -0,0 +1,41 @@
1'use strict'
2
3const waterfall = require('async/waterfall')
4
5// utils = { transaction, queryInterface, sequelize, Sequelize }
6exports.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('Users', 'email', data, { transaction: utils.transaction }).asCallback(function (err) {
20 return callback(err)
21 })
22 },
23
24 function updateWithFakeEmails (callback) {
25 const query = 'UPDATE "Users" SET "email" = CONCAT("username", \'@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('Users', 'email', data, { transaction: utils.transaction }).asCallback(callback)
35 }
36 ], finalCallback)
37}
38
39exports.down = function (options, callback) {
40 throw new Error('Not implemented.')
41}