# schedule_attachment

## Description

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

```sql
CREATE TABLE `schedule_attachment` (
  `schedule_attachment_id` mediumint unsigned NOT NULL AUTO_INCREMENT,
  `schedule_id` mediumint unsigned NOT NULL,
  `target_type` enum('contribution','contributor') COLLATE utf8mb4_general_ci NOT NULL,
  `target_id` varchar(180) COLLATE utf8mb4_general_ci NOT 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,
  `deleted_by` varchar(180) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `deleted_at` datetime DEFAULT NULL,
  PRIMARY KEY (`schedule_attachment_id`),
  KEY `fk_schedule_attachment_schedule` (`schedule_id`),
  CONSTRAINT `fk_schedule_attachment_schedule` FOREIGN KEY (`schedule_id`) REFERENCES `schedule` (`schedule_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(180)                       |         | false    |                  |                                                               |                         |         |
| deleted_at             | datetime                           |         | true     |                  |                                                               |                         |         |
| deleted_by             | varchar(180)                       |         | true     |                  |                                                               |                         |         |
| last_modified          | datetime                           |         | false    |                  |                                                               |                         |         |
| last_modified_by       | varchar(180)                       |         | false    |                  |                                                               |                         |         |
| schedule_attachment_id | mediumint unsigned                 |         | false    | auto_increment   | [schedule_attachment_history](schedule_attachment_history.md) |                         |         |
| schedule_id            | mediumint unsigned                 |         | false    |                  |                                                               | [schedule](schedule.md) |         |
| target_id              | varchar(180)                       |         | false    |                  |                                                               |                         |         |
| target_type            | enum('contribution','contributor') |         | false    |                  |                                                               |                         |         |

## Constraints

| Name                            | Type        | Definition                                                  |
| ------------------------------- | ----------- | ----------------------------------------------------------- |
| PRIMARY                         | PRIMARY KEY | PRIMARY KEY (schedule_attachment_id)                        |
| fk_schedule_attachment_schedule | FOREIGN KEY | FOREIGN KEY (schedule_id) REFERENCES schedule (schedule_id) |

## Indexes

| Name                            | Definition                                                    |
| ------------------------------- | ------------------------------------------------------------- |
| PRIMARY                         | PRIMARY KEY (schedule_attachment_id) USING BTREE              |
| fk_schedule_attachment_schedule | KEY fk_schedule_attachment_schedule (schedule_id) USING BTREE |

## Triggers

| Name                             | Definition                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| after_update_schedule_attachment | CREATE TRIGGER after_update_schedule_attachment AFTER UPDATE ON schedule_attachment<br />FOR EACH ROW<br />BEGIN<br />    INSERT INTO `schedule_attachment_history`(<br />        schedule_attachment_id,<br />        schedule_id,<br />        target_type,<br />        target_id,<br />        created_by,<br />        created_at,<br />        last_modified_by,<br />        last_modified,<br />        deleted_by,<br />        deleted_at<br />    ) VALUES (<br />        OLD.schedule_attachment_id,<br />        OLD.schedule_id,<br />        OLD.target_type,<br />        OLD.target_id,<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](schedule_attachment.svg)

---

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