# exchange_rate

## Description

<details>
<summary><strong>Table Definition</strong></summary>

```sql
CREATE TABLE `exchange_rate` (
  `exchange_rate_id` mediumint unsigned NOT NULL AUTO_INCREMENT,
  `statement_period_id` mediumint unsigned NOT NULL,
  `rate` decimal(30,19) NOT NULL,
  `from_currency_code` char(3) COLLATE utf8mb4_general_ci NOT NULL,
  `to_currency_code` char(3) COLLATE utf8mb4_general_ci NOT NULL,
  `created_by` varchar(255) COLLATE utf8mb4_general_ci NOT NULL,
  `created_at` datetime NOT NULL,
  `last_modified_by` varchar(255) COLLATE utf8mb4_general_ci NOT NULL,
  `last_modified` datetime NOT NULL,
  PRIMARY KEY (`exchange_rate_id`),
  UNIQUE KEY `uidx_statement_period_currencies` (`statement_period_id`,`from_currency_code`,`to_currency_code`),
  KEY `idx_from_code` (`from_currency_code`),
  KEY `idx_to_code` (`to_currency_code`),
  CONSTRAINT `fk_exchange_rate_statement_period` FOREIGN KEY (`statement_period_id`) REFERENCES `statement_period` (`statement_period_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=[Redacted by tbls] DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci
```

</details>

## Columns

| Name                | Type               | Default | Nullable | Extra Definition | Children | Parents                                 | Comment |
| ------------------- | ------------------ | ------- | -------- | ---------------- | -------- | --------------------------------------- | ------- |
| created_at          | datetime           |         | false    |                  |          |                                         |         |
| created_by          | varchar(255)       |         | false    |                  |          |                                         |         |
| exchange_rate_id    | mediumint unsigned |         | false    | auto_increment   |          |                                         |         |
| from_currency_code  | char(3)            |         | false    |                  |          |                                         |         |
| last_modified       | datetime           |         | false    |                  |          |                                         |         |
| last_modified_by    | varchar(255)       |         | false    |                  |          |                                         |         |
| rate                | decimal(30,19)     |         | false    |                  |          |                                         |         |
| statement_period_id | mediumint unsigned |         | false    |                  |          | [statement_period](statement_period.md) |         |
| to_currency_code    | char(3)            |         | false    |                  |          |                                         |         |

## Constraints

| Name                              | Type        | Definition                                                                                              |
| --------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------- |
| PRIMARY                           | PRIMARY KEY | PRIMARY KEY (exchange_rate_id)                                                                          |
| fk_exchange_rate_statement_period | FOREIGN KEY | FOREIGN KEY (statement_period_id) REFERENCES statement_period (statement_period_id)                     |
| uidx_statement_period_currencies  | UNIQUE      | UNIQUE KEY uidx_statement_period_currencies (statement_period_id, from_currency_code, to_currency_code) |

## Indexes

| Name                             | Definition                                                                                                          |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| PRIMARY                          | PRIMARY KEY (exchange_rate_id) USING BTREE                                                                          |
| idx_from_code                    | KEY idx_from_code (from_currency_code) USING BTREE                                                                  |
| idx_to_code                      | KEY idx_to_code (to_currency_code) USING BTREE                                                                      |
| uidx_statement_period_currencies | UNIQUE KEY uidx_statement_period_currencies (statement_period_id, from_currency_code, to_currency_code) USING BTREE |

## Relations

![er](exchange_rate.svg)

---

> Generated by [tbls](https://github.com/k1LoW/tbls)
