aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--server/initializers/constants.ts2
-rw-r--r--server/initializers/migrations/0240-drop-old-indexes.ts84
2 files changed, 85 insertions, 1 deletions
diff --git a/server/initializers/constants.ts b/server/initializers/constants.ts
index 85c5335ad..3aa979668 100644
--- a/server/initializers/constants.ts
+++ b/server/initializers/constants.ts
@@ -14,7 +14,7 @@ let config: IConfig = require('config')
14 14
15// --------------------------------------------------------------------------- 15// ---------------------------------------------------------------------------
16 16
17const LAST_MIGRATION_VERSION = 235 17const LAST_MIGRATION_VERSION = 240
18 18
19// --------------------------------------------------------------------------- 19// ---------------------------------------------------------------------------
20 20
diff --git a/server/initializers/migrations/0240-drop-old-indexes.ts b/server/initializers/migrations/0240-drop-old-indexes.ts
new file mode 100644
index 000000000..ba961e3f9
--- /dev/null
+++ b/server/initializers/migrations/0240-drop-old-indexes.ts
@@ -0,0 +1,84 @@
1import * as Sequelize from 'sequelize'
2import { createClient } from 'redis'
3import { CONFIG } from '../constants'
4import { JobQueue } from '../../lib/job-queue'
5import { initDatabaseModels } from '../database'
6
7async function up (utils: {
8 transaction: Sequelize.Transaction
9 queryInterface: Sequelize.QueryInterface
10 sequelize: Sequelize.Sequelize
11}): Promise<any> {
12
13 const indexNames = [
14 'accounts_application_id',
15 'accounts_user_id',
16 'accounts_name',
17
18 'account_video_rates_video_id_account_id',
19 'account_video_rates_video_id_account_id_type',
20
21 'account_follows_account_id_target_account_id',
22 'account_follow_account_id_target_account_id',
23 'account_follow_account_id',
24 'account_follow_target_account_id',
25 'account_follows_account_id',
26 'account_follows_target_account_id',
27
28 'o_auth_clients_client_id',
29 'o_auth_clients_client_id_client_secret',
30
31 'o_auth_tokens_access_token',
32 'o_auth_tokens_refresh_token',
33 'o_auth_tokens_o_auth_client_id',
34 'o_auth_tokens_user_id',
35
36 'pods_host',
37 'servers_host',
38
39 'tags_name',
40
41 'users_email',
42 'users_username',
43
44 'videos_channel_id',
45 'videos_created_at',
46 'videos_duration',
47 'videos_likes',
48 'videos_name',
49 'videos_uuid',
50 'videos_views',
51
52 'video_abuses_reporter_account_id',
53 'video_abuses_video_id',
54
55 'blacklisted_videos_video_id',
56
57 'video_channels_account_id',
58
59 'video_files_info_hash',
60 'video_files_video_id',
61
62 'video_shares_account_id',
63 'video_shares_video_id',
64
65 'video_tags_tag_id',
66 'video_tags_video_id'
67 ]
68
69 for (const indexName of indexNames) {
70 await utils.sequelize.query('DROP INDEX IF EXISTS "' + indexName + '";')
71 }
72
73 await utils.sequelize.query('ALTER TABLE "account" DROP CONSTRAINT IF EXISTS "actorId_foreign_idx";')
74 await utils.sequelize.query('ALTER TABLE "videoChannel" DROP CONSTRAINT IF EXISTS "actorId_foreign_idx";')
75 await utils.sequelize.query('ALTER TABLE "videoShare" DROP CONSTRAINT IF EXISTS "VideoShares_videoId_fkey";')
76
77 await utils.sequelize.query('DROP TABLE IF EXISTS "videoChannelShare";')
78}
79
80function down (options) {
81 throw new Error('Not implemented.')
82}
83
84export { up, down }