Ghost/core/server/data/migrations
Thibaut Patel 2bfd8f8b7e
Added the post-newsletter relation (#14411)
refs https://github.com/TryGhost/Team/issues/1471

- This is a many-to-one relation so that many posts can be linked to a specific newsletter
- The `newsletters` table had to come first in the schema file so that it's initialized before the `posts` table (because of the foreign key)
- Updated the model to make sure the new field doesn't leak in the API for now
- This migration isn't using the `createAddColumnMigration` util because of a performance issue. In MySQL, adding/dropping a column without `algorithm=copy` uses the INPLACE algorithm which was too slow on big posts tables (~3 minutes for 10k posts). Switching to the COPY algorithm fixed the issue (~3 seconds for 10k posts).
- SQLite isn't using the codepath where we run a raw SQL query because `knex` is doing multiple queries to add/remove a column
2022-04-07 10:26:37 +02:00
..
hooks Removed settings populateDefaults pre-migration 2021-02-10 10:34:08 +13:00
init Removed unnecessary checks during initial DB init 2022-02-21 08:44:40 +01:00
versions Added the post-newsletter relation (#14411) 2022-04-07 10:26:37 +02:00
utils.js Fixed migration util dropping foreign keys before columns 2022-04-04 13:03:38 +01:00