# contract_term

## Description

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

```sql
CREATE TABLE `contract_term` (
  `contract_term_id` mediumint unsigned NOT NULL AUTO_INCREMENT,
  `contract_id` mediumint unsigned NOT NULL,
  `contract_term_name` varchar(180) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `term_type` enum('artist','catalog','contribution','label','product','track','contributor_schedule','contribution_schedule') COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'label',
  `attachments` json DEFAULT NULL,
  `attachments_relations` json DEFAULT NULL,
  `is_base_term` tinyint(1) NOT NULL DEFAULT '1',
  `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,
  `deleted_by` varchar(180) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `deleted_at` datetime DEFAULT NULL,
  PRIMARY KEY (`contract_term_id`),
  KEY `fk_contract_term_contract` (`contract_id`),
  CONSTRAINT `fk_contract_term_contract` FOREIGN KEY (`contract_id`) REFERENCES `contract` (`contract_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 |
| --------------------- | ---------------------------------------------------------------------------------------------------------------- | ------- | -------- | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- | ------- |
| attachments           | json                                                                                                             |         | true     |                  |                                                                                                                                                                                                                                                                                                       |                         |         |
| attachments_relations | json                                                                                                             |         | true     |                  |                                                                                                                                                                                                                                                                                                       |                         |         |
| contract_id           | mediumint unsigned                                                                                               |         | false    |                  |                                                                                                                                                                                                                                                                                                       | [contract](contract.md) |         |
| contract_term_id      | mediumint unsigned                                                                                               |         | false    | auto_increment   | [contract_term_condition](contract_term_condition.md) [contract_term_schedule](contract_term_schedule.md) [contract_term_schedule_history](contract_term_schedule_history.md) [contract_term_condition_history](contract_term_condition_history.md) [contract_term_history](contract_term_history.md) |                         |         |
| contract_term_name    | varchar(180)                                                                                                     |         | true     |                  |                                                                                                                                                                                                                                                                                                       |                         |         |
| created_at            | datetime                                                                                                         |         | false    |                  |                                                                                                                                                                                                                                                                                                       |                         |         |
| created_by            | varchar(255)                                                                                                     |         | false    |                  |                                                                                                                                                                                                                                                                                                       |                         |         |
| deleted_at            | datetime                                                                                                         |         | true     |                  |                                                                                                                                                                                                                                                                                                       |                         |         |
| deleted_by            | varchar(180)                                                                                                     |         | true     |                  |                                                                                                                                                                                                                                                                                                       |                         |         |
| is_base_term          | tinyint(1)                                                                                                       | 1       | false    |                  |                                                                                                                                                                                                                                                                                                       |                         |         |
| last_modified         | datetime                                                                                                         |         | false    |                  |                                                                                                                                                                                                                                                                                                       |                         |         |
| last_modified_by      | varchar(255)                                                                                                     |         | false    |                  |                                                                                                                                                                                                                                                                                                       |                         |         |
| term_type             | enum('artist','catalog','contribution','label','product','track','contributor_schedule','contribution_schedule') | label   | false    |                  |                                                                                                                                                                                                                                                                                                       |                         |         |

## Constraints

| Name                      | Type        | Definition                                                  |
| ------------------------- | ----------- | ----------------------------------------------------------- |
| PRIMARY                   | PRIMARY KEY | PRIMARY KEY (contract_term_id)                              |
| fk_contract_term_contract | FOREIGN KEY | FOREIGN KEY (contract_id) REFERENCES contract (contract_id) |

## Indexes

| Name                      | Definition                                              |
| ------------------------- | ------------------------------------------------------- |
| PRIMARY                   | PRIMARY KEY (contract_term_id) USING BTREE              |
| fk_contract_term_contract | KEY fk_contract_term_contract (contract_id) USING BTREE |

## Triggers

| Name                       | Definition                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| after_update_contract_term | CREATE TRIGGER after_update_contract_term AFTER UPDATE ON contract_term<br />FOR EACH ROW<br />BEGIN<br />    INSERT INTO `contract_term_history` (<br />        `contract_term_id`,<br />        `contract_id`,<br />        `contract_term_name`,<br />        `term_type`,<br />        `attachments`,<br />        `attachments_relations`,<br />        `is_base_term` ,<br />        `created_by`,<br />        `created_at`,<br />        `last_modified_by`,<br />        `last_modified`,<br />        `deleted_by`,<br />        `deleted_at`<br />    ) VALUES (<br />        old.contract_term_id,<br />        old.contract_id,<br />        old.contract_term_name,<br />        old.term_type,<br />        old.attachments,<br />        old.attachments_relations,<br />        old.is_base_term ,<br />        old.created_by,<br />        old.created_at,<br />        old.last_modified_by,<br />        old.last_modified,<br />        old.deleted_by,<br />        old.deleted_at<br />    );<br />END |

## Relations

![er](contract_term.svg)

---

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