]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/initializers/migrations/0510-video-file-metadata.ts
Merge remote-tracking branch 'weblate/develop' into develop
[github/Chocobozzz/PeerTube.git] / server / initializers / migrations / 0510-video-file-metadata.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 // We made a mistake with the migration in 2.2.0-rc.1
10 // Docker containers did not include this migration file
11 // So we check the table definition and add the column if it does not exist
12 const tableDefinition = await utils.queryInterface.describeTable('videoFile')
13
14 if (!tableDefinition['metadata']) {
15 const metadata = {
16 type: Sequelize.JSONB,
17 allowNull: true
18 }
19 await utils.queryInterface.addColumn('videoFile', 'metadata', metadata)
20 }
21
22 if (!tableDefinition['metadataUrl']) {
23 const metadataUrl = {
24 type: Sequelize.STRING,
25 allowNull: true
26 }
27 await utils.queryInterface.addColumn('videoFile', 'metadataUrl', metadataUrl)
28 }
29 }
30
31 function down (options) {
32 throw new Error('Not implemented.')
33 }
34
35 export {
36 up,
37 down
38 }