aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/initializers/migrations/0295-add-originally-published-at.ts
diff options
context:
space:
mode:
Diffstat (limited to 'server/initializers/migrations/0295-add-originally-published-at.ts')
-rw-r--r--server/initializers/migrations/0295-add-originally-published-at.ts42
1 files changed, 42 insertions, 0 deletions
diff --git a/server/initializers/migrations/0295-add-originally-published-at.ts b/server/initializers/migrations/0295-add-originally-published-at.ts
new file mode 100644
index 000000000..e02cca480
--- /dev/null
+++ b/server/initializers/migrations/0295-add-originally-published-at.ts
@@ -0,0 +1,42 @@
1import * as Sequelize from 'sequelize'
2
3async 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', 'originallyPublishedAt', data)
16 }
17
18 {
19 const query = 'UPDATE video SET "originallyPublishedAt" = video."publishedAt"'
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', 'originallyPublishedAt', data)
31 }
32
33}
34
35function down (options) {
36 throw new Error('Not implemented.')
37}
38
39export {
40 up,
41 down
42}