Delete invalid or deleted remote videos
[oweals/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 }