0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-01-06 22:40:14 -05:00
ghost/test
Kevin Ansfield 76c1b60a4d
Added schema+migration for email_{batches,recipients} tables (#12192)
no issue

We want to store a list of recipients for each bulk email so that we have a consistent set of data that background processing/sending jobs can work from without worrying about moving large data sets around or member data changing mid-send.

- `email_batches` table acts as a join table with status for email<->email_recipient
  - stores a provider-specific ID that we get back when submitting a batch for sending to the bulk email provider
  - `status` allows for batch-specific status updates and picking up where we left off when submitting batches if needed
  - explicitly tying a list of email recipients to a batch allows for partial retries
- `email_recipients` table acts as a join table for email<->member
  - `member_id` does not have a foreign key constraint because members can be deleted but does have an index so that we can efficiently query which emails a member has received
  - stores static copies of the member info present at the time of sending an email for consistency in background jobs and auditing/historical data
2020-09-14 12:21:58 +01:00
..
api-acceptance Added schema+migration for email_{batches,recipients} tables (#12192) 2020-09-14 12:21:58 +01:00
frontend-acceptance 🎨 New Google AMP template (#11986) 2020-07-06 17:09:24 +01:00
regression Added Location header to API's POST request responses (#12186) 2020-09-14 22:33:37 +12:00
unit Added schema+migration for email_{batches,recipients} tables (#12192) 2020-09-14 12:21:58 +01:00
utils 🐛 Fixed incorrect status used for trial subscription query 2020-09-02 13:07:48 +01:00
.eslintignore
.eslintrc.json Fixed linting error 2020-04-17 11:32:29 +01:00
.jshintrc