Ghost/core/server/data/migrations/versions
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
..
1.3 Moved core/server/lib/common/logging to core/shared/logging (#11857) 2020-05-28 19:30:23 +01:00
1.4 Moved core/server/lib/common/logging to core/shared/logging (#11857) 2020-05-28 19:30:23 +01:00
1.5 Moved core/server/lib/common/logging to core/shared/logging (#11857) 2020-05-28 19:30:23 +01:00
1.7 Removed all clients and client_trusted_domains related code 2019-09-12 15:09:49 +01:00
1.9 Updated ALL permissions migrations to use the utils 2020-06-25 19:15:25 +02:00
1.13 Updated ALL permissions migrations to use the utils 2020-06-25 19:15:25 +02:00
1.18 Moved core/server/lib/common/logging to core/shared/logging (#11857) 2020-05-28 19:30:23 +01:00
1.19 Updated ALL permissions migrations to use the utils 2020-06-25 19:15:25 +02:00
1.20 Moved core/server/lib/common/logging to core/shared/logging (#11857) 2020-05-28 19:30:23 +01:00
1.21 Moved core/server/lib/common/logging to core/shared/logging (#11857) 2020-05-28 19:30:23 +01:00
1.22 Moved core/server/lib/common/logging to core/shared/logging (#11857) 2020-05-28 19:30:23 +01:00
1.25 Moved core/server/lib/common/logging to core/shared/logging (#11857) 2020-05-28 19:30:23 +01:00
2.0 Moved core/server/lib/common/logging to core/shared/logging (#11857) 2020-05-28 19:30:23 +01:00
2.2 Updated ALL permissions migrations to use the utils 2020-06-25 19:15:25 +02:00
2.3 Updated ALL permissions migrations to use the utils 2020-06-25 19:15:25 +02:00
2.6 Updated ALL permissions migrations to use the utils 2020-06-25 19:15:25 +02:00
2.8 Moved core/server/lib/common/logging to core/shared/logging (#11857) 2020-05-28 19:30:23 +01:00
2.13 💡Reverted "empty-string to NULL" db migration (#10430) 2019-01-29 14:41:04 +00:00
2.14 Updated ALL permissions migrations to use the utils 2020-06-25 19:15:25 +02:00
2.15 Moved core/server/lib/common/logging to core/shared/logging (#11857) 2020-05-28 19:30:23 +01:00
2.16 Removed 2.16 member permission migration 2019-05-02 17:31:38 +02:00
2.17 Moved core/server/lib/common/logging to core/shared/logging (#11857) 2020-05-28 19:30:23 +01:00
2.18 Moved core/server/lib/common/logging to core/shared/logging (#11857) 2020-05-28 19:30:23 +01:00
2.21 Updated ALL permissions migrations to use the utils 2020-06-25 19:15:25 +02:00
2.22 Updated ALL permissions migrations to use the utils 2020-06-25 19:15:25 +02:00
2.27 Moved core/server/lib/common/logging to core/shared/logging (#11857) 2020-05-28 19:30:23 +01:00
2.28 Updated ALL permissions migrations to use the utils 2020-06-25 19:15:25 +02:00
2.29 Moved core/server/lib/common/logging to core/shared/logging (#11857) 2020-05-28 19:30:23 +01:00
2.31 Removed name and password columns from members table 2019-09-05 11:14:50 +08:00
2.32 🐛 Fixed error when during migration to 2.32.0 on mysql (#11208) 2019-10-08 11:07:29 +01:00
2.33 Moved core/server/lib/common/logging to core/shared/logging (#11857) 2020-05-28 19:30:23 +01:00
2.34 Moved core/server/lib/common/logging to core/shared/logging (#11857) 2020-05-28 19:30:23 +01:00
2.35 Added migration for note column on members table 2019-10-10 17:51:46 +07:00
2.37 Moved core/server/lib/common/logging to core/shared/logging (#11857) 2020-05-28 19:30:23 +01:00
3.0 Moved core/server/lib/common/logging to core/shared/logging (#11857) 2020-05-28 19:30:23 +01:00
3.1 Updated ALL permissions migrations to use the utils 2020-06-25 19:15:25 +02:00
3.2 Added member's subscription cancellation helper {{cancel_link}} (#11434) 2019-12-12 19:59:15 +07:00
3.6 Updated ALL permissions migrations to use the utils 2020-06-25 19:15:25 +02:00
3.7 Moved core/server/lib/common/logging to core/shared/logging (#11857) 2020-05-28 19:30:23 +01:00
3.8 Added migration to add members.geolocation 2020-02-22 10:12:06 +00:00
3.9 Updated ALL permissions migrations to use the utils 2020-06-25 19:15:25 +02:00
3.11 Moved core/server/lib/common/logging to core/shared/logging (#11857) 2020-05-28 19:30:23 +01:00
3.12 Updated ALL permissions migrations to use the utils 2020-06-25 19:15:25 +02:00
3.18 Updated ALL permissions migrations to use the utils 2020-06-25 19:15:25 +02:00
3.19 Added migration updating members from address with domain 2020-06-08 23:47:02 +05:30
3.22 Hardened members subscription migration against missing data (#12009) 2020-07-06 12:18:13 +02:00
3.23 Added new meta columns to tags table 2020-07-08 11:49:22 +02:00
3.24 Added migration to update group for new portal settings 2020-07-10 18:32:54 +05:30
3.25 Fixed version for amp_gtag_id setting migration 2020-07-15 15:33:37 +02:00
3.26 Fixed version for amp_gtag_id setting migration 2020-07-15 15:33:37 +02:00
3.29 🐛 Fixed failing migration from <2.34 to 3.29 2020-08-17 18:31:00 +01:00
3.30 Granted Admin users ability to impersonate member (#12132) 2020-08-18 14:17:56 +05:30
3.32 Added routes_hash setting (#12171) 2020-09-07 21:54:55 +12:00
3.33 Added schema+migration for email_{batches,recipients} tables (#12192) 2020-09-14 12:21:58 +01:00