]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - server/initializers/migrations/0140-actor-url.ts
Try to fix video duplication
[github/Chocobozzz/PeerTube.git] / server / initializers / migrations / 0140-actor-url.ts
CommitLineData
225a89c2 1import * as Sequelize from 'sequelize'
6dd9de95 2import { WEBSERVER } from '../constants'
225a89c2
C
3
4async function up (utils: {
5 transaction: Sequelize.Transaction,
6 queryInterface: Sequelize.QueryInterface,
7 sequelize: Sequelize.Sequelize
8}): Promise<void> {
6dd9de95
C
9 const toReplace = WEBSERVER.HOSTNAME + ':443'
10 const by = WEBSERVER.HOST
225a89c2
C
11 const replacer = column => `replace("${column}", '${toReplace}', '${by}')`
12
13 {
14 const query = `UPDATE video SET url = ${replacer('url')}`
15 await utils.sequelize.query(query)
16 }
17
18 {
19 const query = `
20 UPDATE actor SET url = ${replacer('url')}, "inboxUrl" = ${replacer('inboxUrl')}, "outboxUrl" = ${replacer('outboxUrl')},
21 "sharedInboxUrl" = ${replacer('sharedInboxUrl')}, "followersUrl" = ${replacer('followersUrl')},
22 "followingUrl" = ${replacer('followingUrl')}
23 `
24 await utils.sequelize.query(query)
25 }
26
27 {
28 const query = `UPDATE server SET host = replace(host, ':443', '')`
29 await utils.sequelize.query(query)
30 }
31}
32
33function down (options) {
34 throw new Error('Not implemented.')
35}
36
37export {
38 up,
39 down
40}