0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-04-01 02:41:39 -05:00
ghost/core
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
..
client@f2806ee7e3 Updated Ghost-Admin to v3.32.2 2020-09-10 16:55:17 +01:00
frontend Fixed loading default template style for cta behind flag 2020-09-11 11:10:24 +05:30
server Added schema+migration for email_{batches,recipients} tables (#12192) 2020-09-14 12:21:58 +01:00
shared Added minor member newsletter customisations via config 2020-08-24 10:44:22 +01:00
index.js Refactored server announce functions to be clearer 2020-08-09 17:25:15 +01:00