]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame_incremental - server/initializers/migrations/0010-email-user.ts
Updated travis.yml git depth 1
[github/Chocobozzz/PeerTube.git] / server / initializers / migrations / 0010-email-user.ts
... / ...
CommitLineData
1import * as Sequelize from 'sequelize'
2import * as Promise from 'bluebird'
3
4function up (utils: {
5 transaction: Sequelize.Transaction,
6 queryInterface: Sequelize.QueryInterface,
7 sequelize: Sequelize.Sequelize
8}): Promise<void> {
9 const q = utils.queryInterface
10
11 const data = {
12 type: Sequelize.STRING(400),
13 allowNull: false,
14 defaultValue: ''
15 }
16 return q.addColumn('Users', 'email', data)
17 .then(() => {
18 const query = 'UPDATE "Users" SET "email" = CONCAT("username", \'@example.com\')'
19 return utils.sequelize.query(query, { transaction: utils.transaction })
20 })
21 .then(() => {
22 data.defaultValue = null
23
24 return q.changeColumn('Users', 'email', data)
25 })
26}
27
28function down (options) {
29 throw new Error('Not implemented.')
30}
31
32export {
33 up,
34 down
35}