PeerTube/server/initializers/migrations/0240-drop-old-indexes.ts

85 lines
2.2 KiB
TypeScript
Raw Normal View History

2018-07-27 10:22:20 -05:00
import * as Sequelize from 'sequelize'
import { createClient } from 'redis'
import { CONFIG } from '../constants'
import { JobQueue } from '../../lib/job-queue'
import { initDatabaseModels } from '../database'
async function up (utils: {
transaction: Sequelize.Transaction
queryInterface: Sequelize.QueryInterface
sequelize: Sequelize.Sequelize
}): Promise<any> {
const indexNames = [
'accounts_application_id',
'accounts_user_id',
'accounts_name',
'account_video_rates_video_id_account_id',
'account_video_rates_video_id_account_id_type',
'account_follows_account_id_target_account_id',
'account_follow_account_id_target_account_id',
'account_follow_account_id',
'account_follow_target_account_id',
'account_follows_account_id',
'account_follows_target_account_id',
'o_auth_clients_client_id',
'o_auth_clients_client_id_client_secret',
'o_auth_tokens_access_token',
'o_auth_tokens_refresh_token',
'o_auth_tokens_o_auth_client_id',
'o_auth_tokens_user_id',
'pods_host',
'servers_host',
'tags_name',
'users_email',
'users_username',
'videos_channel_id',
'videos_created_at',
'videos_duration',
'videos_likes',
'videos_name',
'videos_uuid',
'videos_views',
'video_abuses_reporter_account_id',
'video_abuses_video_id',
'blacklisted_videos_video_id',
'video_channels_account_id',
'video_files_info_hash',
'video_files_video_id',
'video_shares_account_id',
'video_shares_video_id',
'video_tags_tag_id',
'video_tags_video_id'
]
for (const indexName of indexNames) {
await utils.sequelize.query('DROP INDEX IF EXISTS "' + indexName + '";')
}
await utils.sequelize.query('ALTER TABLE "account" DROP CONSTRAINT IF EXISTS "actorId_foreign_idx";')
await utils.sequelize.query('ALTER TABLE "videoChannel" DROP CONSTRAINT IF EXISTS "actorId_foreign_idx";')
await utils.sequelize.query('ALTER TABLE "videoShare" DROP CONSTRAINT IF EXISTS "VideoShares_videoId_fkey";')
await utils.sequelize.query('DROP TABLE IF EXISTS "videoChannelShare";')
}
function down (options) {
throw new Error('Not implemented.')
}
export { up, down }