// ---------------------------------------------------------------------------
-const LAST_MIGRATION_VERSION = 505
+const LAST_MIGRATION_VERSION = 510
// ---------------------------------------------------------------------------
+++ /dev/null
-import * as Sequelize from 'sequelize'
-
-async function up (utils: {
- transaction: Sequelize.Transaction
- queryInterface: Sequelize.QueryInterface
- sequelize: Sequelize.Sequelize
-}): Promise<void> {
-
- const metadata = {
- type: Sequelize.JSONB,
- allowNull: true
- }
- await utils.queryInterface.addColumn('videoFile', 'metadata', metadata)
-
- const metadataUrl = {
- type: Sequelize.STRING,
- allowNull: true
- }
- await utils.queryInterface.addColumn('videoFile', 'metadataUrl', metadataUrl)
-
-}
-
-function down (options) {
- throw new Error('Not implemented.')
-}
-
-export {
- up,
- down
-}
--- /dev/null
+import * as Sequelize from 'sequelize'
+
+async function up (utils: {
+ transaction: Sequelize.Transaction
+ queryInterface: Sequelize.QueryInterface
+ sequelize: Sequelize.Sequelize
+}): Promise<void> {
+
+ // We made a mistake with the migration in 2.2.0-rc.1
+ // Docker containers did not include this migration file
+ // So we check the table definition and add the column if it does not exist
+ const tableDefinition = await utils.queryInterface.describeTable('videoFile')
+
+ if (!tableDefinition['metadata']) {
+ const metadata = {
+ type: Sequelize.JSONB,
+ allowNull: true
+ }
+ await utils.queryInterface.addColumn('videoFile', 'metadata', metadata)
+ }
+
+ if (!tableDefinition['metadataUrl']) {
+ const metadataUrl = {
+ type: Sequelize.STRING,
+ allowNull: true
+ }
+ await utils.queryInterface.addColumn('videoFile', 'metadataUrl', metadataUrl)
+ }
+}
+
+function down (options) {
+ throw new Error('Not implemented.')
+}
+
+export {
+ up,
+ down
+}