Sag 2023-08-30 10:33:49 +02:00 committed by GitHub
parent c298dd5d38
commit 89e9e4a2b8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 47 additions and 15 deletions

View File

@ -50,7 +50,8 @@ const BACKUP_TABLES = [
'email_spam_complaint_events', 'email_spam_complaint_events',
'milestones', 'milestones',
'collections', 'collections',
'collections_posts' 'collections_posts',
'recommendations'
]; ];
// NOTE: exposing only tables which are going to be included in a "default" export file // NOTE: exposing only tables which are going to be included in a "default" export file

View File

@ -0,0 +1,18 @@
const {addTable} = require('../../utils');
module.exports = addTable('recommendations', {
id: {type: 'string', maxlength: 24, nullable: false, primary: true},
url: {type: 'string', maxlength: 2000, nullable: false},
title: {type: 'string', maxlength: 2000, nullable: false},
excerpt: {type: 'string', maxlength: 2000, nullable: true},
featured_image: {type: 'string', maxlength: 2000, nullable: true},
favicon: {type: 'string', maxlength: 2000, nullable: true},
reason: {type: 'string', maxlength: 2000, nullable: true},
one_click_subscribe: {type: 'boolean', nullable: false, defaultTo: false},
created_at: {type: 'dateTime', nullable: false},
updated_at: {type: 'dateTime', nullable: true}
});

View File

@ -1067,5 +1067,17 @@ module.exports = {
collection_id: {type: 'string', maxlength: 24, nullable: false, references: 'collections.id', cascadeDelete: true}, collection_id: {type: 'string', maxlength: 24, nullable: false, references: 'collections.id', cascadeDelete: true},
post_id: {type: 'string', maxlength: 24, nullable: false, references: 'posts.id', cascadeDelete: true}, post_id: {type: 'string', maxlength: 24, nullable: false, references: 'posts.id', cascadeDelete: true},
sort_order: {type: 'integer', nullable: false, unsigned: true, defaultTo: 0} sort_order: {type: 'integer', nullable: false, unsigned: true, defaultTo: 0}
},
recommendations: {
id: {type: 'string', maxlength: 24, nullable: false, primary: true},
url: {type: 'string', maxlength: 2000, nullable: false},
title: {type: 'string', maxlength: 2000, nullable: false},
excerpt: {type: 'string', maxlength: 2000, nullable: true},
featured_image: {type: 'string', maxlength: 2000, nullable: true},
favicon: {type: 'string', maxlength: 2000, nullable: true},
reason: {type: 'string', maxlength: 2000, nullable: true},
one_click_subscribe: {type: 'boolean', nullable: false, defaultTo: false},
created_at: {type: 'dateTime', nullable: false},
updated_at: {type: 'dateTime', nullable: true}
} }
}; };

View File

@ -24,6 +24,7 @@ describe('Exporter', function () {
const tables = [ const tables = [
'actions', 'actions',
'api_keys', 'api_keys',
'benefits',
'brute', 'brute',
'collections', 'collections',
'collections_posts', 'collections_posts',
@ -41,28 +42,28 @@ describe('Exporter', function () {
'invites', 'invites',
'jobs', 'jobs',
'labels', 'labels',
'redirects',
'members', 'members',
'members_cancel_events', 'members_cancel_events',
'members_click_events',
'members_created_events',
'members_email_change_events', 'members_email_change_events',
'members_feedback', 'members_feedback',
'members_labels', 'members_labels',
'members_click_events',
'members_login_events', 'members_login_events',
'members_newsletters', 'members_newsletters',
'members_paid_subscription_events', 'members_paid_subscription_events',
'members_payment_events', 'members_payment_events',
'members_product_events',
'members_products', 'members_products',
'members_status_events', 'members_status_events',
'members_product_events',
'members_stripe_customers', 'members_stripe_customers',
'members_stripe_customers_subscriptions', 'members_stripe_customers_subscriptions',
'members_subscribe_events', 'members_subscribe_events',
'members_created_events',
'members_subscription_created_events', 'members_subscription_created_events',
'mentions', 'mentions',
'migrations', 'migrations',
'migrations_lock', 'migrations_lock',
'milestones',
'mobiledoc_revisions', 'mobiledoc_revisions',
'newsletters', 'newsletters',
'offers', 'offers',
@ -74,26 +75,26 @@ describe('Exporter', function () {
'posts', 'posts',
'posts_authors', 'posts_authors',
'posts_meta', 'posts_meta',
'posts_tags',
'posts_products', 'posts_products',
'posts_tags',
'products', 'products',
'benefits',
'products_benefits', 'products_benefits',
'stripe_products', 'recommendations',
'stripe_prices', 'redirects',
'subscriptions',
'suppressions',
'roles', 'roles',
'roles_users', 'roles_users',
'sessions', 'sessions',
'settings', 'settings',
'snippets', 'snippets',
'stripe_prices',
'stripe_products',
'subscriptions',
'suppressions',
'tags', 'tags',
'temp_mail_events',
'tokens', 'tokens',
'users', 'users',
'webhooks', 'webhooks'
'milestones',
'temp_mail_events'
]; ];
should.exist(exportData); should.exist(exportData);

View File

@ -35,7 +35,7 @@ const validateRouteSettings = require('../../../../../core/server/services/route
*/ */
describe('DB version integrity', function () { describe('DB version integrity', function () {
// Only these variables should need updating // Only these variables should need updating
const currentSchemaHash = 'ad44bf95fee71a878704bff2a313a583'; const currentSchemaHash = '5674764ca6518961a9b2917e7d8e2ea9';
const currentFixturesHash = '31865c37aacfec9b8f16c1354b36a7de'; const currentFixturesHash = '31865c37aacfec9b8f16c1354b36a7de';
const currentSettingsHash = 'dd0e318627ded65e41f188fb5bdf5b74'; const currentSettingsHash = 'dd0e318627ded65e41f188fb5bdf5b74';
const currentRoutesHash = '3d180d52c663d173a6be791ef411ed01'; const currentRoutesHash = '3d180d52c663d173a6be791ef411ed01';