diff --git a/database/registry.mariadb.sql b/database/registry.mariadb.sql index f1424a7..3887540 100644 --- a/database/registry.mariadb.sql +++ b/database/registry.mariadb.sql @@ -25,7 +25,7 @@ CREATE TABLE IF NOT EXISTS `registry`.`domain_tld` ( `launch_phase_id` INT DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `tld` (`tld`), - FOREIGN KEY (`launch_phase_id`) REFERENCES `launch_phase`(`id`) + FOREIGN KEY (`launch_phase_id`) REFERENCES `launch_phases`(`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='domain tld'; CREATE TABLE IF NOT EXISTS `registry`.`settings` ( @@ -131,6 +131,7 @@ CREATE TABLE IF NOT EXISTS `registry`.`registrar_whitelist` ( `addr` varchar(45) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `uniquekey` (`registrar_id`,`addr`), + KEY `idx_addr` (`addr`), CONSTRAINT `registrar_whitelist_ibfk_1` FOREIGN KEY (`registrar_id`) REFERENCES `registrar` (`id`) ON DELETE RESTRICT ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='registrar whitelist'; @@ -767,6 +768,7 @@ CREATE TABLE IF NOT EXISTS `registry`.`premium_domain_pricing` ( PRIMARY KEY (`id`), KEY `tld_id` (`tld_id`), KEY `category_id` (`category_id`), + KEY `idx_domainname_tldid` (`domain_name`,`tld_id`), CONSTRAINT `premium_domain_pricing_ibfk_1` FOREIGN KEY (`tld_id`) REFERENCES `domain_tld` (`id`), CONSTRAINT `premium_domain_pricing_ibfk_2` FOREIGN KEY (`category_id`) REFERENCES `premium_domain_categories` (`category_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Premium Domains'; @@ -918,8 +920,8 @@ INSERT INTO `registry`.`settings` (`name`, `value`) VALUES ('address2', '48000'), ('cc', 'Ukraine'), ('vat_number', '12345678'), -('verifyEmail', NULL), -('verifyPhone', NULL), +('verifyEmail', NULL), +('verifyPhone', NULL), ('verifyPostal', NULL), ('phone', '+123456789'), ('handle', 'RXX'), diff --git a/docs/update1011.sh b/docs/update1011.sh index 085b895..0316198 100644 --- a/docs/update1011.sh +++ b/docs/update1011.sh @@ -123,9 +123,38 @@ mysql -h "$db_host" -u "$db_user" -p"$db_pass" "$db_name" -e "$sql_query" # Check for errors if [ $? -eq 0 ]; then - echo "Database upgrade completed successfully." + echo "Database upgrade 1 completed successfully." else - echo "Database upgrade failed." + echo "Database upgrade 1 failed." + exit 1 +fi + +sql_query=" +-- 1) Fix the domain_tld foreign key reference to launch_phases +ALTER TABLE \`domain_tld\` + DROP FOREIGN KEY \`domain_tld_ibfk_1\`, + ADD CONSTRAINT \`domain_tld_ibfk_1\` + FOREIGN KEY (\`launch_phase_id\`) + REFERENCES \`launch_phases\`(\`id\`) + ON DELETE RESTRICT; + +-- 2) Add the composite index on (domain_name, tld_id) in premium_domain_pricing +ALTER TABLE \`premium_domain_pricing\` + ADD KEY \`idx_domainname_tldid\` (\`domain_name\`, \`tld_id\`); + +-- 3) Add a single-column index idx_addr on registrar_whitelist +ALTER TABLE \`registrar_whitelist\` + ADD KEY \`idx_addr\` (\`addr\`); +" + +# Execute the SQL Query +mysql -h "$db_host" -u "$db_user" -p"$db_pass" "$db_name" -e "$sql_query" + +# Check for errors +if [ $? -eq 0 ]; then + echo "Database upgrade 2 completed successfully." +else + echo "Database upgrade 2 failed." exit 1 fi