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 { 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 }