forked from Ensembl/ensembl-variation
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpatch_50_51_b.sql
46 lines (38 loc) · 1.68 KB
/
patch_50_51_b.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
-- Copyright [1999-2015] Wellcome Trust Sanger Institute and the EMBL-European Bioinformatics Institute
-- Copyright [2016-2022] EMBL-European Bioinformatics Institute
--
-- Licensed under the Apache License, Version 2.0 (the "License");
-- you may not use this file except in compliance with the License.
-- You may obtain a copy of the License at
--
-- http://www.apache.org/licenses/LICENSE-2.0
--
-- Unless required by applicable law or agreed to in writing, software
-- distributed under the License is distributed on an "AS IS" BASIS,
-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- See the License for the specific language governing permissions and
-- limitations under the License.
# patch_50_51_b.sql
#
# Title: make database multi-species capable
#
# Description:
# Add a species_id column to the meta and coord_system table and make
# new indexes on these tables.
-- Add the new species_id column after meta_id
ALTER TABLE meta ADD COLUMN
species_id INT UNSIGNED DEFAULT 1 -- Default species_id is 1
-- NULL means "not species specific"
AFTER meta_id;
-- Redo the indexes on the meta table
ALTER TABLE meta DROP INDEX meta_key_index;
ALTER TABLE meta DROP INDEX meta_value_index;
ALTER TABLE meta
ADD UNIQUE INDEX species_key_value_idx (species_id, meta_key, meta_value);
ALTER TABLE meta
ADD INDEX species_value_idx (species_id, meta_value);
UPDATE meta SET species_id = NULL WHERE meta_key IN ('patch', 'schema_version');
# patch identifier
INSERT INTO meta (species_id, meta_key, meta_value) VALUES (NULL, 'patch', 'patch_50_51_b.sql|meta_species_id_values');
-- Optimize the modified tables
OPTIMIZE TABLE meta;