Ghost/core/server/models
Daniel Lockyer 94f5add1c0 Refactored default settings population to reduce unnecessary DB queries
refs https://github.com/TryGhost/Toolbox/issues/202

- this code suffers from two problems:
  - when we don't have any new settings to insert, we still end up
    fetching the columnInfo and owner info, even though we only need
    them if we're inserting data. This results in 3 extra queries upon
    boot
  - secondly, we insert every setting with a separate query - MySQL and
    SQLite both support batch inserts and knex has a utility to help us
    that I've [used
    before](38821c5242).
    With 95 settings at the time of writing, this adds 94 extra queries
    during the DB init
- this commit refactors the code so that we only fetch the columnInfo and
  owner data if we've got new settings to insert, and batches the
  inserts using knex's batchInsert util
- this query results in ~95 less queries during DB init and saves a
  couple of queries during boot
2022-02-08 10:11:00 +01:00
..
base Fixed unparsed booleans for "boolean" type columns 2022-01-20 17:00:16 +02:00
relations Switch to @tryghost/errors from ignition errors package (#13807) 2021-12-01 10:22:01 +00:00
action.js Fixed dependency on the order of models 2021-10-21 16:57:36 +01:00
api-key.js Updated signature of Bookshelf model listeners 2021-09-10 16:59:11 +01:00
author.js Added plugin based author and public tag models in API v2 (#10284) 2019-01-03 20:30:35 +01:00
benefit.js Added Benefit model 2021-06-29 16:53:15 +01:00
custom-theme-setting.js Removed errant console.log 2021-10-14 20:38:02 +01:00
email-batch.js Fixed creation of EmailBatch and EmailRecipient collections 2020-10-14 15:11:45 +01:00
email-recipient.js Removed unnecessary bookshelf-relations config in EmailRecipient model 2021-01-05 15:28:30 +00:00
email.js Updated signature of Bookshelf model listeners 2021-09-10 16:59:11 +01:00
index.js Refactored model init to be implicit 2021-10-21 17:01:26 +01:00
integration.js Updated signature of Bookshelf model listeners 2021-09-10 16:59:11 +01:00
invite.js Replaced i18n.t w/ tpl in core/server/models (#13464) 2021-10-06 11:43:54 +01:00
label.js Replaced i18n.t w/ tpl in core/server/models (#13464) 2021-10-06 11:43:54 +01:00
member-analytic-event.js Added temporary database table for analytic events (#13312) 2021-09-17 11:15:21 +02:00
member-email-change-event.js Added linting for use of @tryghost/errors 2021-12-01 11:22:21 +00:00
member-login-event.js Added linting for use of @tryghost/errors 2021-12-01 11:22:21 +00:00
member-paid-subscription-event.js Added linting for use of @tryghost/errors 2021-12-01 11:22:21 +00:00
member-payment-event.js Added linting for use of @tryghost/errors 2021-12-01 11:22:21 +00:00
member-product-event.js Added linting for use of @tryghost/errors 2021-12-01 11:22:21 +00:00
member-status-event.js Added linting for use of @tryghost/errors 2021-12-01 11:22:21 +00:00
member-stripe-customer.js Added error handling for failed member imports 2020-08-26 17:11:35 +12:00
member-subscribe-event.js Added linting for use of @tryghost/errors 2021-12-01 11:22:21 +00:00
member.js Added relation between Member & OfferRedemption 2021-10-21 15:39:26 +02:00
mobiledoc-revision.js Added mobiledoc revisions functionality 2018-10-09 15:31:09 +02:00
offer-redemption.js Added OfferRedemption model 2021-10-15 16:56:04 +02:00
offer.js Added model for offers table 2021-10-04 12:03:36 +05:30
permission.js Updated var declarations to const/let and no lists 2020-04-29 16:51:13 +01:00
post.js Handled default value in post for specific tier content visibility (#14121) 2022-02-04 21:00:08 +05:30
posts-meta.js Added email_only column to posts_meta table 2021-08-05 19:44:35 +12:00
product.js Added active column to products table (#14016) 2022-01-20 15:50:18 +02:00
role.js Replaced i18n.t w/ tpl in core/server/models (#13464) 2021-10-06 11:43:54 +01:00
session.js 🔒 Added a "reset all passwords" feature (#13005) 2021-06-23 14:54:28 +02:00
settings.js Refactored default settings population to reduce unnecessary DB queries 2022-02-08 10:11:00 +01:00
single-use-token.js Updated SingleUseToken grace period to 10 minutes (#13926) 2022-01-03 17:55:53 +02:00
snippet.js Fixed no-restricted-require warning for core/shared/url-utils.js 2021-05-25 21:13:57 +01:00
stripe-customer-subscription.js 🐛 Fixed members list not loading (#12930) 2021-05-26 19:52:42 +05:30
stripe-price.js Added models for stripe prices and products 2021-04-12 21:53:59 +05:30
stripe-product.js Added Product, StripeProduct & StripePrice relations (#12877) 2021-04-14 19:20:39 +01:00
tag-public.js Added plugin based author and public tag models in API v2 (#10284) 2019-01-03 20:30:35 +01:00
tag.js 🐛 Fixed "Create Post" action error in Zapier when assigning new tags (#13972) 2022-01-14 13:37:20 +00:00
user.js Inlined package requires to save boot time and memory 2021-10-22 09:57:59 +02:00
webhook.js Updated signature of Bookshelf model listeners 2021-09-10 16:59:11 +01:00