mirror of
https://github.com/Chocobozzz/PeerTube.git
synced 2025-10-05 19:42:24 +02:00
Fix video files duplicated when fps is null
Null values are not considered equal in a UNIQUE index
This commit is contained in:
parent
60e74f80d8
commit
2e7cf5ae0c
6 changed files with 38 additions and 5 deletions
34
server/initializers/migrations/0275-video-file-unique.ts
Normal file
34
server/initializers/migrations/0275-video-file-unique.ts
Normal file
|
@ -0,0 +1,34 @@
|
|||
import * as Sequelize from 'sequelize'
|
||||
|
||||
async function up (utils: {
|
||||
transaction: Sequelize.Transaction
|
||||
queryInterface: Sequelize.QueryInterface
|
||||
sequelize: Sequelize.Sequelize
|
||||
}): Promise<any> {
|
||||
{
|
||||
const query = 'DELETE FROM "videoFile" vf1 USING "videoFile" vf2 WHERE vf1.id < vf2.id ' +
|
||||
'AND vf1."videoId" = vf2."videoId" AND vf1.resolution = vf2.resolution AND vf1.fps IS NULL'
|
||||
await utils.sequelize.query(query)
|
||||
}
|
||||
|
||||
{
|
||||
const query = 'UPDATE "videoFile" SET fps = -1 WHERE fps IS NULL;'
|
||||
await utils.sequelize.query(query)
|
||||
}
|
||||
|
||||
{
|
||||
const data = {
|
||||
type: Sequelize.INTEGER,
|
||||
allowNull: false,
|
||||
defaultValue: -1
|
||||
}
|
||||
await utils.queryInterface.changeColumn('videoFile', 'fps', data)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function down (options) {
|
||||
throw new Error('Not implemented.')
|
||||
}
|
||||
|
||||
export { up, down }
|
Loading…
Add table
Add a link
Reference in a new issue