Fixes.
Added support for help text in custom fields. Reimplemented the mechanism how campaign_messages are created.
This commit is contained in:
parent
025600e818
commit
4e4b77ca84
19 changed files with 223 additions and 200 deletions
|
@ -6,10 +6,9 @@ const {TagLanguages} = require('../../../../shared/templates');
|
|||
const {getGlobalNamespaceId} = require('../../../../shared/namespaces');
|
||||
const {getAdminId} = require('../../../../shared/users');
|
||||
const { MailerType, ZoneMTAType, getSystemSendConfigurationId, getSystemSendConfigurationCid } = require('../../../../shared/send-configurations');
|
||||
const { enforce } = require('../../../lib/helpers');
|
||||
const { enforce, hashEmail} = require('../../../lib/helpers');
|
||||
const { EntityVals: TriggerEntityVals, EventVals: TriggerEventVals } = require('../../../../shared/triggers');
|
||||
const { SubscriptionSource } = require('../../../../shared/lists');
|
||||
const crypto = require('crypto');
|
||||
const {DOMParser, XMLSerializer} = require('xmldom');
|
||||
const log = require('../../../lib/log');
|
||||
|
||||
|
@ -271,7 +270,7 @@ async function migrateSubscriptions(knex) {
|
|||
|
||||
if (rows.length > 0) {
|
||||
for await (const subscription of rows) {
|
||||
subscription.hash_email = crypto.createHash('sha512').update(subscription.email).digest("base64");
|
||||
subscription.hash_email = hashEmail(subscription.email);
|
||||
subscription.source_email = subscription.imported ? SubscriptionSource.IMPORTED_V1 : SubscriptionSource.NOT_IMPORTED_V1;
|
||||
for (const field of fields) {
|
||||
if (field.column != null) {
|
||||
|
@ -417,6 +416,7 @@ async function migrateCustomFields(knex) {
|
|||
});
|
||||
|
||||
await knex.schema.table('custom_fields', table => {
|
||||
table.renameColumn('description', 'help');
|
||||
table.dropColumn('visible');
|
||||
});
|
||||
|
||||
|
|
17
server/setup/knex/migrations/20190722110000_hash_email.js
Normal file
17
server/setup/knex/migrations/20190722110000_hash_email.js
Normal file
|
@ -0,0 +1,17 @@
|
|||
exports.up = (knex, Promise) => (async() => {
|
||||
await knex.schema.raw('ALTER TABLE `campaign_messages` ADD `hash_email` char(88) CHARACTER SET ascii');
|
||||
await knex.schema.raw('ALTER TABLE `campaign_messages` ADD UNIQUE KEY `campaign_hash_email` (`campaign`, `hash_email`)');
|
||||
await knex.schema.raw('ALTER TABLE `campaign_messages` DROP KEY `created`');
|
||||
await knex.schema.raw('ALTER TABLE `campaign_links` DROP KEY `created_index`');
|
||||
|
||||
const lists = await knex('lists');
|
||||
for (const list of lists) {
|
||||
await knex.schema.raw('ALTER TABLE `subscription__' + list.id + '` MODIFY `hash_email` char(88) CHARACTER SET ascii');
|
||||
await knex.raw('update `campaign_messages` inner join `subscription__' + list.id + '` on `campaign_messages`.`list`=' + list.id + ' and `campaign_messages`.`subscription`=`subscription__' + list.id + '`.`id` set `campaign_messages`.`hash_email`=`subscription__' + list.id + '`.`hash_email`');
|
||||
}
|
||||
|
||||
await knex('campaign_messages').whereNull('hash_email').del();
|
||||
})();
|
||||
|
||||
exports.down = (knex, Promise) => (async() => {
|
||||
})();
|
|
@ -0,0 +1,7 @@
|
|||
exports.up = (knex, Promise) => (async() => {
|
||||
// This is to provide upgrade path to stable to those that already have beta installed.
|
||||
await knex.schema.raw('ALTER TABLE `custom_fields` ADD COLUMN `help` text AFTER `name`');
|
||||
})();
|
||||
|
||||
exports.down = (knex, Promise) => (async() => {
|
||||
})();
|
11
server/setup/sql/upgrade-00034.sql
Normal file
11
server/setup/sql/upgrade-00034.sql
Normal file
|
@ -0,0 +1,11 @@
|
|||
# Header section
|
||||
# Define incrementing schema version number
|
||||
SET @schema_version = '34';
|
||||
|
||||
# Add template field for group elements
|
||||
ALTER TABLE `custom_fields` ADD COLUMN `description` text AFTER `name`;
|
||||
|
||||
# Footer section
|
||||
LOCK TABLES `settings` WRITE;
|
||||
INSERT INTO `settings` (`key`, `value`) VALUES('db_schema_version', @schema_version) ON DUPLICATE KEY UPDATE `value`=@schema_version;
|
||||
UNLOCK TABLES;
|
Loading…
Add table
Add a link
Reference in a new issue