]>
Commit | Line | Data |
---|---|---|
2e7cf5ae C |
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<any> { | |
6321cbc3 C |
8 | // Delete duplicated keys |
9 | { | |
10 | const query = 'DELETE FROM "server" s1 USING "server" s2 WHERE s1.id < s2.id AND s1."host" = s2."host"' | |
11 | await utils.sequelize.query(query) | |
12 | } | |
13 | ||
2e7cf5ae C |
14 | { |
15 | const query = 'DELETE FROM "videoFile" vf1 USING "videoFile" vf2 WHERE vf1.id < vf2.id ' + | |
16 | 'AND vf1."videoId" = vf2."videoId" AND vf1.resolution = vf2.resolution AND vf1.fps IS NULL' | |
17 | await utils.sequelize.query(query) | |
18 | } | |
19 | ||
20 | { | |
21 | const query = 'UPDATE "videoFile" SET fps = -1 WHERE fps IS NULL;' | |
22 | await utils.sequelize.query(query) | |
23 | } | |
24 | ||
25 | { | |
26 | const data = { | |
27 | type: Sequelize.INTEGER, | |
28 | allowNull: false, | |
29 | defaultValue: -1 | |
30 | } | |
31 | await utils.queryInterface.changeColumn('videoFile', 'fps', data) | |
32 | } | |
33 | ||
34 | } | |
35 | ||
36 | function down (options) { | |
37 | throw new Error('Not implemented.') | |
38 | } | |
39 | ||
40 | export { up, down } |