# ledger_reserve_release_schedule

## Description

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

```sql
CREATE TABLE `ledger_reserve_release_schedule` (
  `ledger_reserve_release_schedule_id` mediumint unsigned NOT NULL AUTO_INCREMENT,
  `abacus_event_id` mediumint unsigned NOT NULL,
  `account_id` mediumint unsigned NOT NULL,
  `taken_statement_period_id` mediumint unsigned NOT NULL,
  `release_statement_period_id` mediumint unsigned NOT NULL,
  `ledger_reserve_taken_id` mediumint unsigned NOT NULL,
  `currency_code` char(3) COLLATE utf8mb4_general_ci NOT NULL,
  `installment_amount` decimal(20,2) NOT NULL,
  `outstanding_amount_after_installment` decimal(20,2) NOT NULL,
  `early_release_date` datetime DEFAULT NULL,
  `created_by` varchar(180) COLLATE utf8mb4_general_ci NOT NULL,
  `created_at` datetime NOT NULL,
  `last_modified_by` varchar(180) COLLATE utf8mb4_general_ci NOT NULL,
  `last_modified` datetime NOT NULL,
  PRIMARY KEY (`ledger_reserve_release_schedule_id`),
  KEY `fk_release_schedule_abacus_event` (`abacus_event_id`),
  KEY `fk_release_schedule_account` (`account_id`),
  KEY `fk_release_schedule_statement_period_taken` (`taken_statement_period_id`),
  KEY `fk_release_schedule_statement_period_release` (`release_statement_period_id`),
  KEY `fk_release_schedule_reserve_taken` (`ledger_reserve_taken_id`),
  CONSTRAINT `fk_release_schedule_abacus_event` FOREIGN KEY (`abacus_event_id`) REFERENCES `abacus_event` (`abacus_event_id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `fk_release_schedule_account` FOREIGN KEY (`account_id`) REFERENCES `account` (`account_id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `fk_release_schedule_reserve_taken` FOREIGN KEY (`ledger_reserve_taken_id`) REFERENCES `ledger_reserve_taken` (`ledger_reserve_taken_id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `fk_release_schedule_statement_period_release` FOREIGN KEY (`release_statement_period_id`) REFERENCES `statement_period` (`statement_period_id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `fk_release_schedule_statement_period_taken` FOREIGN KEY (`taken_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 |
| ------------------------------------ | ------------------ | ------- | -------- | ---------------- | --------------------------------------------------- | ----------------------------------------------- | ------- |
| abacus_event_id                      | mediumint unsigned |         | false    |                  |                                                     | [abacus_event](abacus_event.md)                 |         |
| account_id                           | mediumint unsigned |         | false    |                  |                                                     | [account](account.md)                           |         |
| created_at                           | datetime           |         | false    |                  |                                                     |                                                 |         |
| created_by                           | varchar(180)       |         | false    |                  |                                                     |                                                 |         |
| currency_code                        | char(3)            |         | false    |                  |                                                     |                                                 |         |
| early_release_date                   | datetime           |         | true     |                  |                                                     |                                                 |         |
| installment_amount                   | decimal(20,2)      |         | false    |                  |                                                     |                                                 |         |
| last_modified                        | datetime           |         | false    |                  |                                                     |                                                 |         |
| last_modified_by                     | varchar(180)       |         | false    |                  |                                                     |                                                 |         |
| ledger_reserve_release_schedule_id   | mediumint unsigned |         | false    | auto_increment   | [ledger_reserve_release](ledger_reserve_release.md) |                                                 |         |
| ledger_reserve_taken_id              | mediumint unsigned |         | false    |                  |                                                     | [ledger_reserve_taken](ledger_reserve_taken.md) |         |
| outstanding_amount_after_installment | decimal(20,2)      |         | false    |                  |                                                     |                                                 |         |
| release_statement_period_id          | mediumint unsigned |         | false    |                  |                                                     | [statement_period](statement_period.md)         |         |
| taken_statement_period_id            | mediumint unsigned |         | false    |                  |                                                     | [statement_period](statement_period.md)         |         |

## Constraints

| Name                                         | Type        | Definition                                                                                      |
| -------------------------------------------- | ----------- | ----------------------------------------------------------------------------------------------- |
| PRIMARY                                      | PRIMARY KEY | PRIMARY KEY (ledger_reserve_release_schedule_id)                                                |
| fk_release_schedule_abacus_event             | FOREIGN KEY | FOREIGN KEY (abacus_event_id) REFERENCES abacus_event (abacus_event_id)                         |
| fk_release_schedule_account                  | FOREIGN KEY | FOREIGN KEY (account_id) REFERENCES account (account_id)                                        |
| fk_release_schedule_reserve_taken            | FOREIGN KEY | FOREIGN KEY (ledger_reserve_taken_id) REFERENCES ledger_reserve_taken (ledger_reserve_taken_id) |
| fk_release_schedule_statement_period_release | FOREIGN KEY | FOREIGN KEY (release_statement_period_id) REFERENCES statement_period (statement_period_id)     |
| fk_release_schedule_statement_period_taken   | FOREIGN KEY | FOREIGN KEY (taken_statement_period_id) REFERENCES statement_period (statement_period_id)       |

## Indexes

| Name                                         | Definition                                                                                 |
| -------------------------------------------- | ------------------------------------------------------------------------------------------ |
| PRIMARY                                      | PRIMARY KEY (ledger_reserve_release_schedule_id) USING BTREE                               |
| fk_release_schedule_abacus_event             | KEY fk_release_schedule_abacus_event (abacus_event_id) USING BTREE                         |
| fk_release_schedule_account                  | KEY fk_release_schedule_account (account_id) USING BTREE                                   |
| fk_release_schedule_reserve_taken            | KEY fk_release_schedule_reserve_taken (ledger_reserve_taken_id) USING BTREE                |
| fk_release_schedule_statement_period_release | KEY fk_release_schedule_statement_period_release (release_statement_period_id) USING BTREE |
| fk_release_schedule_statement_period_taken   | KEY fk_release_schedule_statement_period_taken (taken_statement_period_id) USING BTREE     |

## Relations

![er](ledger_reserve_release_schedule.svg)

---

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