]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/initializers/migrations/0060-video-file.ts
Implement avatar miniatures (#4639)
[github/Chocobozzz/PeerTube.git] / server / initializers / migrations / 0060-video-file.ts
1 import * as Sequelize from 'sequelize'
2
3 function up (utils: {
4 transaction: Sequelize.Transaction
5 queryInterface: Sequelize.QueryInterface
6 sequelize: Sequelize.Sequelize
7 db: any
8 }): Promise<void> {
9 const q = utils.queryInterface
10
11 const query = 'INSERT INTO "VideoFiles" ("videoId", "resolution", "size", "extname", "infoHash", "createdAt", "updatedAt") ' +
12 'SELECT "id" AS "videoId", 0 AS "resolution", 0 AS "size", ' +
13 '"extname"::"text"::"enum_VideoFiles_extname" as "extname", "infoHash", "createdAt", "updatedAt" ' +
14 'FROM "Videos"'
15
16 return utils.db.VideoFile.sync()
17 .then(() => utils.sequelize.query(query))
18 .then(() => {
19 return q.removeColumn('Videos', 'extname')
20 })
21 .then(() => {
22 return q.removeColumn('Videos', 'infoHash')
23 })
24 }
25
26 function down (options) {
27 throw new Error('Not implemented.')
28 }
29
30 export {
31 up,
32 down
33 }