Ghost/core/server
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
..
adapters Replaced constants file with @tryghost/constants 2020-08-11 12:51:16 +01:00
api Added Location header to API's POST request responses (#12186) 2020-09-14 22:33:37 +12:00
data Added schema+migration for email_{batches,recipients} tables (#12192) 2020-09-14 12:21:58 +01:00
lib Extracted promise libs and history into @tryghost/promise 2020-08-11 18:44:21 +01:00
models 🐛 Fixed incorrect status used for trial subscription query 2020-09-02 13:07:48 +01:00
public Renamed members ssr + api endpoints 2020-04-30 19:00:37 +01:00
services 🐛 Fixed table constraint error when updating member's email with an already existing email (#12178) 2020-09-10 16:03:57 +12:00
translations 🐛 Fixed table constraint error when updating member's email with an already existing email (#12178) 2020-09-10 16:03:57 +12:00
views Updated head to only output custom favicons (#11949) 2020-06-30 15:07:08 +01:00
web Added handling for new members support/reply email addresses 2020-08-31 18:09:38 +05:30
analytics-events.js Moved config from server to shared (#11850) 2020-05-27 18:47:53 +01:00
ghost-server.js Improved testmode logging of shutdown status 2020-08-18 15:48:42 +01:00
index.js Added routes.yaml content checksum storage to the db 2020-09-10 10:54:57 +12:00
overrides.js Disabled bluebird debug logs 2018-08-13 14:01:31 +02:00
update-check.js Moved core/server/lib/common/logging to core/shared/logging (#11857) 2020-05-28 19:30:23 +01:00