diff --git a/database/migrations/structure/20230421_2234_currencies.sql b/database/migrations/structure/20230421_2234_currencies.sql new file mode 100644 index 0000000..cc99218 --- /dev/null +++ b/database/migrations/structure/20230421_2234_currencies.sql @@ -0,0 +1,22 @@ +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;