]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/initializers/migrations/0200-video-published-at.ts
Merge branch 'release/2.1.0' into develop
[github/Chocobozzz/PeerTube.git] / server / initializers / migrations / 0200-video-published-at.ts
1 import * as Sequelize from 'sequelize'
2
3 async function up (utils: {
4 transaction: Sequelize.Transaction
5 queryInterface: Sequelize.QueryInterface
6 sequelize: Sequelize.Sequelize
7 }): Promise<void> {
8
9 {
10 const data = {
11 type: Sequelize.DATE,
12 allowNull: true,
13 defaultValue: Sequelize.NOW
14 }
15 await utils.queryInterface.addColumn('video', 'publishedAt', data)
16 }
17
18 {
19 const query = 'UPDATE video SET "publishedAt" = video."createdAt"'
20 await utils.sequelize.query(query)
21 }
22
23 // Sequelize does not alter the column with NOW as default value
24 {
25 const data = {
26 type: Sequelize.DATE,
27 allowNull: false,
28 defaultValue: Sequelize.NOW
29 }
30 await utils.queryInterface.changeColumn('video', 'publishedAt', data)
31 }
32
33 }
34
35 function down (options) {
36 throw new Error('Not implemented.')
37 }
38
39 export {
40 up,
41 down
42 }