# payee

## Description

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

```sql
CREATE TABLE `payee` (
  `payee_id` mediumint unsigned NOT NULL AUTO_INCREMENT,
  `reference_payment_type_id` smallint unsigned NOT NULL,
  `payoneer_client_reference_id` varchar(255) NOT NULL,
  `payoneer_program_id` int unsigned NOT NULL,
  `payoneer_assigned_id` bigint unsigned DEFAULT NULL,
  `payee_name` varchar(255) DEFAULT NULL,
  `payee_type` enum('collaborator') NOT NULL,
  `created_by` varchar(255) NOT NULL,
  `created_at` datetime NOT NULL,
  `last_modified_by` varchar(255) NOT NULL,
  `last_modified` datetime NOT NULL,
  PRIMARY KEY (`payee_id`),
  UNIQUE KEY `uidx_payee_payoneer_client_reference_id` (`payoneer_client_reference_id`),
  KEY `fk_payee_reference_payment_type_id` (`reference_payment_type_id`),
  KEY `fk_payee_payoneer_program_id` (`payoneer_program_id`),
  CONSTRAINT `fk_payee_payoneer_program_id` FOREIGN KEY (`payoneer_program_id`) REFERENCES `reference_payoneer_program` (`payoneer_program_id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `fk_payee_reference_payment_type_id` FOREIGN KEY (`reference_payment_type_id`) REFERENCES `reference_payment_type` (`reference_payment_type_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=[Redacted by tbls] DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
```

</details>

## Columns

| Name                         | Type                 | Default | Nullable | Extra Definition | Children                                                                                                                                                                                              | Parents                                                     | Comment |
| ---------------------------- | -------------------- | ------- | -------- | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- | ------- |
| created_at                   | datetime             |         | false    |                  |                                                                                                                                                                                                       |                                                             |         |
| created_by                   | varchar(255)         |         | false    |                  |                                                                                                                                                                                                       |                                                             |         |
| last_modified                | datetime             |         | false    |                  |                                                                                                                                                                                                       |                                                             |         |
| last_modified_by             | varchar(255)         |         | false    |                  |                                                                                                                                                                                                       |                                                             |         |
| payee_id                     | mediumint unsigned   |         | false    | auto_increment   | [payee_collaborator](payee_collaborator.md) [payee_kyc_notification](payee_kyc_notification.md) [payee_history](payee_history.md) [payee_kyc_notification_history](payee_kyc_notification_history.md) |                                                             |         |
| payee_name                   | varchar(255)         |         | true     |                  |                                                                                                                                                                                                       |                                                             |         |
| payee_type                   | enum('collaborator') |         | false    |                  |                                                                                                                                                                                                       |                                                             |         |
| payoneer_assigned_id         | bigint unsigned      |         | true     |                  |                                                                                                                                                                                                       |                                                             |         |
| payoneer_client_reference_id | varchar(255)         |         | false    |                  |                                                                                                                                                                                                       |                                                             |         |
| payoneer_program_id          | int unsigned         |         | false    |                  |                                                                                                                                                                                                       | [reference_payoneer_program](reference_payoneer_program.md) |         |
| reference_payment_type_id    | smallint unsigned    |         | false    |                  |                                                                                                                                                                                                       | [reference_payment_type](reference_payment_type.md)         |         |

## Constraints

| Name                                    | Type        | Definition                                                                                            |
| --------------------------------------- | ----------- | ----------------------------------------------------------------------------------------------------- |
| PRIMARY                                 | PRIMARY KEY | PRIMARY KEY (payee_id)                                                                                |
| fk_payee_payoneer_program_id            | FOREIGN KEY | FOREIGN KEY (payoneer_program_id) REFERENCES reference_payoneer_program (payoneer_program_id)         |
| fk_payee_reference_payment_type_id      | FOREIGN KEY | FOREIGN KEY (reference_payment_type_id) REFERENCES reference_payment_type (reference_payment_type_id) |
| uidx_payee_payoneer_client_reference_id | UNIQUE      | UNIQUE KEY uidx_payee_payoneer_client_reference_id (payoneer_client_reference_id)                     |

## Indexes

| Name                                    | Definition                                                                                    |
| --------------------------------------- | --------------------------------------------------------------------------------------------- |
| PRIMARY                                 | PRIMARY KEY (payee_id) USING BTREE                                                            |
| fk_payee_payoneer_program_id            | KEY fk_payee_payoneer_program_id (payoneer_program_id) USING BTREE                            |
| fk_payee_reference_payment_type_id      | KEY fk_payee_reference_payment_type_id (reference_payment_type_id) USING BTREE                |
| uidx_payee_payoneer_client_reference_id | UNIQUE KEY uidx_payee_payoneer_client_reference_id (payoneer_client_reference_id) USING BTREE |

## Triggers

| Name        | Definition                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| after_payee | CREATE TRIGGER after_payee AFTER UPDATE ON payee<br />FOR EACH ROW<br />BEGIN<br />INSERT INTO `payee_history`<br />(<br />    `payee_id`,<br />    `reference_payment_type_id`,<br />    `payoneer_client_reference_id`,<br />    `payoneer_program_id`,<br />    `payoneer_assigned_id`,<br />    `payee_name`,<br />    `payee_type`,<br />    `created_by`,<br />    `created_at`,<br />    `last_modified_by`,<br />    `last_modified`<br />)<br />VALUES<br />(<br />    old.`payee_id`,<br />    old.`reference_payment_type_id`,<br />    old.`payoneer_client_reference_id`,<br />    old.`payoneer_program_id`,<br />    old.`payoneer_assigned_id`,<br />    old.`payee_name`,<br />    old.`payee_type`,<br />    old.`created_by`,<br />    old.`created_at`,<br />    old.`last_modified_by`,<br />    old.`last_modified`<br />);<br />END |

## Relations

![er](payee.svg)

---

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