Small DB optimizations

This commit is contained in:
Pinga 2025-01-02 19:10:03 +02:00
parent 00771f7706
commit 37867207ec
2 changed files with 36 additions and 5 deletions

View file

@ -25,7 +25,7 @@ CREATE TABLE IF NOT EXISTS `registry`.`domain_tld` (
`launch_phase_id` INT DEFAULT NULL, `launch_phase_id` INT DEFAULT NULL,
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
UNIQUE KEY `tld` (`tld`), 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'; ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='domain tld';
CREATE TABLE IF NOT EXISTS `registry`.`settings` ( CREATE TABLE IF NOT EXISTS `registry`.`settings` (
@ -131,6 +131,7 @@ CREATE TABLE IF NOT EXISTS `registry`.`registrar_whitelist` (
`addr` varchar(45) NOT NULL, `addr` varchar(45) NOT NULL,
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
UNIQUE KEY `uniquekey` (`registrar_id`,`addr`), 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 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'; ) 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`), PRIMARY KEY (`id`),
KEY `tld_id` (`tld_id`), KEY `tld_id` (`tld_id`),
KEY `category_id` (`category_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_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`) 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'; ) 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'), ('address2', '48000'),
('cc', 'Ukraine'), ('cc', 'Ukraine'),
('vat_number', '12345678'), ('vat_number', '12345678'),
('verifyEmail', NULL), ('verifyEmail', NULL),
('verifyPhone', NULL), ('verifyPhone', NULL),
('verifyPostal', NULL), ('verifyPostal', NULL),
('phone', '+123456789'), ('phone', '+123456789'),
('handle', 'RXX'), ('handle', 'RXX'),

View file

@ -123,9 +123,38 @@ mysql -h "$db_host" -u "$db_user" -p"$db_pass" "$db_name" -e "$sql_query"
# Check for errors # Check for errors
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then
echo "Database upgrade completed successfully." echo "Database upgrade 1 completed successfully."
else 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 exit 1
fi fi