diff --git a/persistence/sql/migrations/sql/20241029153900000001_identities.down.sql b/persistence/sql/migrations/sql/20241029153900000001_identities.down.sql new file mode 100644 index 00000000000..eea887f4089 --- /dev/null +++ b/persistence/sql/migrations/sql/20241029153900000001_identities.down.sql @@ -0,0 +1,13 @@ +CREATE INDEX IF NOT EXISTS identities_id_nid_idx ON identities (id ASC, nid ASC); + +CREATE INDEX IF NOT EXISTS identity_recovery_addresses_status_via_idx ON identity_recovery_addresses (nid ASC, via ASC, value ASC); +CREATE INDEX IF NOT EXISTS identity_recovery_addresses_nid_identity_id_idx ON identity_recovery_addresses (identity_id ASC, nid ASC); +CREATE INDEX IF NOT EXISTS identity_recovery_addresses_nid_id_idx ON identity_recovery_addresses (nid ASC, id ASC); +CREATE INDEX IF NOT EXISTS identity_recovery_addresses_id_nid_idx ON identity_recovery_addresses (id ASC, nid ASC); +DROP INDEX IF EXISTS identity_recovery_addresses_identity_id_idx; + +CREATE INDEX IF NOT EXISTS identity_verifiable_addresses_status_via_idx ON identity_verifiable_addresses (nid ASC, via ASC, value ASC); +CREATE INDEX IF NOT EXISTS identity_verifiable_addresses_nid_identity_id_idx ON identity_verifiable_addresses (identity_id ASC, nid ASC); +CREATE INDEX IF NOT EXISTS identity_verifiable_addresses_nid_id_idx ON identity_verifiable_addresses (nid ASC, id ASC); +CREATE INDEX IF NOT EXISTS identity_verifiable_addresses_id_nid_idx ON identity_verifiable_addresses (id ASC, nid ASC); +DROP INDEX IF EXISTS identity_verifiable_addresses_identity_id_idx; diff --git a/persistence/sql/migrations/sql/20241029153900000001_identities.mysql.down.sql b/persistence/sql/migrations/sql/20241029153900000001_identities.mysql.down.sql new file mode 100644 index 00000000000..83a531c1e0e --- /dev/null +++ b/persistence/sql/migrations/sql/20241029153900000001_identities.mysql.down.sql @@ -0,0 +1,17 @@ +CREATE INDEX identities_id_nid_idx ON identities (id ASC, nid ASC); + +CREATE INDEX identity_recovery_addresses_status_via_idx ON identity_recovery_addresses (nid ASC, via ASC, value ASC); +-- While this index did not exist in the past, it is needed in MySQL for foreign key relations. We accept +-- that this index is "unaccounted" for if we execute down and then up migrations on MySQL. +CREATE INDEX identity_recovery_addresses_identity_id_fk_idx ON identity_recovery_addresses (identity_id ASC); +CREATE INDEX identity_recovery_addresses_nid_id_idx ON identity_recovery_addresses (nid ASC, id ASC); +CREATE INDEX identity_recovery_addresses_id_nid_idx ON identity_recovery_addresses (id ASC, nid ASC); +DROP INDEX identity_recovery_addresses_identity_id_idx ON identity_recovery_addresses; + +CREATE INDEX identity_verifiable_addresses_status_via_idx ON identity_verifiable_addresses (nid ASC, via ASC, value ASC); +-- While this index did not exist in the past, it is needed in MySQL for foreign key relations. We accept +-- that this index is "unaccounted" for if we execute down and then up migrations on MySQL. +CREATE INDEX identity_verifiable_addresses_identity_id_fk_idx ON identity_verifiable_addresses (identity_id ASC); +CREATE INDEX identity_verifiable_addresses_nid_id_idx ON identity_verifiable_addresses (nid ASC, id ASC); +CREATE INDEX identity_verifiable_addresses_id_nid_idx ON identity_verifiable_addresses (id ASC, nid ASC); +DROP INDEX identity_verifiable_addresses_identity_id_idx ON identity_verifiable_addresses; diff --git a/persistence/sql/migrations/sql/20241029153900000001_identities.mysql.up.sql b/persistence/sql/migrations/sql/20241029153900000001_identities.mysql.up.sql new file mode 100644 index 00000000000..8d2ce70d220 --- /dev/null +++ b/persistence/sql/migrations/sql/20241029153900000001_identities.mysql.up.sql @@ -0,0 +1,13 @@ +DROP INDEX identities_id_nid_idx ON identities; + +CREATE INDEX identity_recovery_addresses_identity_id_idx ON identity_recovery_addresses (identity_id ASC); +DROP INDEX identity_recovery_addresses_status_via_idx ON identity_recovery_addresses; +-- DROP INDEX identity_recovery_addresses_nid_identity_id_idx ON identity_recovery_addresses; +DROP INDEX identity_recovery_addresses_nid_id_idx ON identity_recovery_addresses; +DROP INDEX identity_recovery_addresses_id_nid_idx ON identity_recovery_addresses; + +CREATE INDEX identity_verifiable_addresses_identity_id_idx ON identity_verifiable_addresses (identity_id ASC); +DROP INDEX identity_verifiable_addresses_status_via_idx ON identity_verifiable_addresses; +-- DROP INDEX identity_verifiable_addresses_nid_identity_id_idx ON identity_verifiable_addresses; +DROP INDEX identity_verifiable_addresses_nid_id_idx ON identity_verifiable_addresses; +DROP INDEX identity_verifiable_addresses_id_nid_idx ON identity_verifiable_addresses; diff --git a/persistence/sql/migrations/sql/20241029153900000001_identities.up.sql b/persistence/sql/migrations/sql/20241029153900000001_identities.up.sql new file mode 100644 index 00000000000..5b117cf0509 --- /dev/null +++ b/persistence/sql/migrations/sql/20241029153900000001_identities.up.sql @@ -0,0 +1,13 @@ +DROP INDEX IF EXISTS identities_id_nid_idx; + +CREATE INDEX IF NOT EXISTS identity_recovery_addresses_identity_id_idx ON identity_recovery_addresses(identity_id ASC); +DROP INDEX IF EXISTS identity_recovery_addresses_status_via_idx; +DROP INDEX IF EXISTS identity_recovery_addresses_nid_identity_id_idx; +DROP INDEX IF EXISTS identity_recovery_addresses_nid_id_idx; +DROP INDEX IF EXISTS identity_recovery_addresses_id_nid_idx; + +CREATE INDEX IF NOT EXISTS identity_verifiable_addresses_identity_id_idx ON identity_verifiable_addresses (identity_id ASC); +DROP INDEX IF EXISTS identity_verifiable_addresses_status_via_idx; +DROP INDEX IF EXISTS identity_verifiable_addresses_nid_identity_id_idx; +DROP INDEX IF EXISTS identity_verifiable_addresses_nid_id_idx; +DROP INDEX IF EXISTS identity_verifiable_addresses_id_nid_idx;