CREATE TABLE `currencies` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `community_id` int(10) unsigned NOT NULL, `currency` varchar(3) NOT NULL, `round_digits` tinyint(1) unsigned NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_currency_for_community` (`community_id`, `currency`), KEY `community_id` (`community_id`), KEY `currency` (`currency`), CONSTRAINT `currencies_community_id` FOREIGN KEY (`community_id`) REFERENCES `communities` (`id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4; CREATE TABLE `currency_exchange_rates` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `currency_id` int(10) unsigned NOT NULL, `exchange_rate` decimal(19,9) unsigned NOT NULL, `valid_from` timestamp NOT NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`), KEY `currency_id` (`currency_id`), INDEX `valid_from` (`valid_from`), CONSTRAINT `currency_exchange_rates_currency_id` FOREIGN KEY (`currency_id`) REFERENCES `currencies` (`id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;