jenkins-bot has submitted this change and it was merged. Change subject: Campaign-associated mixins: schema update ......................................................................
Campaign-associated mixins: schema update Adds the cn_notice_mixins table, the cn_notice_mixin_params table, columns for campaign mixins to the cn_notice_log table. Bug: T90915 Change-Id: I7b6b67d37af83240a0768db06357f43637a6c302 --- M .gitreview M CentralNotice.sql M patches/CNDatabasePatcher.php A patches/patch-notice-mixins-log.sql A patches/patch-notice-mixins-params.sql A patches/patch-notice-mixins.sql 6 files changed, 70 insertions(+), 1 deletion(-) Approvals: Awight: Looks good to me, approved jenkins-bot: Verified diff --git a/.gitreview b/.gitreview index c9db37b..0675951 100644 --- a/.gitreview +++ b/.gitreview @@ -2,5 +2,5 @@ host=gerrit.wikimedia.org port=29418 project=mediawiki/extensions/CentralNotice.git -defaultbranch=master +defaultbranch=campaign_mixins defaultrebase=0 diff --git a/CentralNotice.sql b/CentralNotice.sql index 39a135b..f222ff6 100644 --- a/CentralNotice.sql +++ b/CentralNotice.sql @@ -72,6 +72,26 @@ CREATE INDEX /*i*/tmxn_page_id ON /*_*/cn_template_mixins (page_id); CREATE INDEX /*i*/tmxn_mixin_name ON /*_*/cn_template_mixins (mixin_name); +CREATE TABLE IF NOT EXISTS /*_*/cn_notice_mixins ( + `nmxn_id` int PRIMARY KEY AUTO_INCREMENT, + `nmxn_not_id` int(11) NOT NULL, + `nmxn_mixin_name` varchar(255) NOT NULL, + `nmxn_enabled` tinyint(1) NOT NULL DEFAULT '0' +) /*$wgDBTableOptions*/; +CREATE INDEX /*i*/nmxn_not_id_idx ON /*_*/cn_notice_mixins (nmxn_not_id); +CREATE INDEX /*i*/nmxn_mixin_name_idx ON /*_*/cn_notice_mixins (nmxn_mixin_name); +CREATE UNIQUE INDEX /*i*/nmxn_not_id_mixin_name ON /*_*/cn_notice_mixins (nmxn_not_id, nmxn_mixin_name); + +CREATE TABLE IF NOT EXISTS /*_*/cn_notice_mixin_params ( + `nmxnp_id` int PRIMARY KEY AUTO_INCREMENT, + `nmxnp_notice_mixin_id` int(11) NOT NULL, + `nmxnp_param_name` varchar(255) NOT NULL, + `nmxnp_param_value` TEXT NOT NULL +) /*$wgDBTableOptions*/; +CREATE INDEX /*i*/nmxnp_notice_mixin_id_idx ON /*_*/cn_notice_mixin_params (nmxnp_notice_mixin_id); +CREATE INDEX /*i*/nmxnp_param_name_value_idx ON /*_*/cn_notice_mixin_params (nmxnp_param_name, nmxnp_param_value(50)); +CREATE UNIQUE INDEX /*i*/nmxn_notice_mixin_id_param_name ON /*_*/cn_notice_mixin_params (nmxnp_notice_mixin_id, nmxnp_param_name); + CREATE TABLE IF NOT EXISTS /*_*/cn_known_devices ( `dev_id` int PRIMARY KEY AUTO_INCREMENT, `dev_name` varchar(255) NOT NULL, @@ -143,6 +163,8 @@ `notlog_end_weight` int DEFAULT NULL, `notlog_begin_archived` tinyint DEFAULT NULL, `notlog_end_archived` tinyint DEFAULT NULL, + `notlog_begin_mixins` BLOB DEFAULT NULL, + `notlog_end_mixins` BLOB DEFAULT NULL, `notlog_comment` varchar(255) DEFAULT NULL ) /*$wgDBTableOptions*/; CREATE INDEX /*i*/notlog_timestamp ON /*_*/cn_notice_log (notlog_timestamp); diff --git a/patches/CNDatabasePatcher.php b/patches/CNDatabasePatcher.php index da58e6e..6bcfeda 100644 --- a/patches/CNDatabasePatcher.php +++ b/patches/CNDatabasePatcher.php @@ -148,6 +148,25 @@ $base . '/patch-assignments_index.sql', true ) ); + $updater->addExtensionUpdate( + array( + 'addTable', 'cn_notice_mixins', + $base . '/patch-notice-mixins.sql', true + ) + ); + $updater->addExtensionUpdate( + array( + 'addTable', 'cn_notice_mixin_params', + $base . '/patch-notice-mixins-params.sql', true + ) + ); + // This adds both notlog_begin_mixins and notlog_end_mixins fields + $updater->addExtensionUpdate( + array( + 'addField', 'cn_notice_log', 'notlog_begin_mixins', + $base . '/patch-notice-mixins-log.sql', true + ) + ); } elseif ( $updater->getDB()->getType() == 'sqlite' ) { // Add the entire schema... $updater->addExtensionUpdate( diff --git a/patches/patch-notice-mixins-log.sql b/patches/patch-notice-mixins-log.sql new file mode 100644 index 0000000..ff1d6d2 --- /dev/null +++ b/patches/patch-notice-mixins-log.sql @@ -0,0 +1,5 @@ +-- Add columns to the cn_notice_log for notice (campaign) mixin settings + +ALTER TABLE /*_*/cn_notice_log + ADD COLUMN `notlog_begin_mixins` BLOB DEFAULT NULL, + ADD COLUMN `notlog_end_mixins` BLOB DEFAULT NULL; \ No newline at end of file diff --git a/patches/patch-notice-mixins-params.sql b/patches/patch-notice-mixins-params.sql new file mode 100644 index 0000000..221dd44 --- /dev/null +++ b/patches/patch-notice-mixins-params.sql @@ -0,0 +1,12 @@ +-- Add a table and indexes for the parameters of mixins associated with campaigns +-- (a.k.a. notices) + +CREATE TABLE IF NOT EXISTS /*_*/cn_notice_mixin_params ( + `nmxnp_id` int PRIMARY KEY AUTO_INCREMENT, + `nmxnp_notice_mixin_id` int(11) NOT NULL, + `nmxnp_param_name` varchar(255) NOT NULL, + `nmxnp_param_value` TEXT NOT NULL +) /*$wgDBTableOptions*/; +CREATE INDEX /*i*/nmxnp_notice_mixin_id_idx ON /*_*/cn_notice_mixin_params (nmxnp_notice_mixin_id); +CREATE INDEX /*i*/nmxnp_param_name_value_idx ON /*_*/cn_notice_mixin_params (nmxnp_param_name, nmxnp_param_value(50)); +CREATE UNIQUE INDEX /*i*/nmxn_notice_mixin_id_param_name ON /*_*/cn_notice_mixin_params (nmxnp_notice_mixin_id, nmxnp_param_name); diff --git a/patches/patch-notice-mixins.sql b/patches/patch-notice-mixins.sql new file mode 100644 index 0000000..68040f1 --- /dev/null +++ b/patches/patch-notice-mixins.sql @@ -0,0 +1,11 @@ +-- Add a table and indexes for mixins associated with campaigns (a.k.a. notices) + +CREATE TABLE IF NOT EXISTS /*_*/cn_notice_mixins ( + `nmxn_id` int PRIMARY KEY AUTO_INCREMENT, + `nmxn_not_id` int(11) NOT NULL, + `nmxn_mixin_name` varchar(255) NOT NULL, + `nmxn_enabled` tinyint(1) NOT NULL DEFAULT '0' +) /*$wgDBTableOptions*/; +CREATE INDEX /*i*/nmxn_not_id_idx ON /*_*/cn_notice_mixins (nmxn_not_id); +CREATE INDEX /*i*/nmxn_mixin_name_idx ON /*_*/cn_notice_mixins (nmxn_mixin_name); +CREATE UNIQUE INDEX /*i*/nmxn_not_id_mixin_name ON /*_*/cn_notice_mixins (nmxn_not_id, nmxn_mixin_name); -- To view, visit https://gerrit.wikimedia.org/r/202309 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I7b6b67d37af83240a0768db06357f43637a6c302 Gerrit-PatchSet: 16 Gerrit-Project: mediawiki/extensions/CentralNotice Gerrit-Branch: campaign_mixins Gerrit-Owner: AndyRussG <andrew.green...@gmail.com> Gerrit-Reviewer: AndyRussG <andrew.green...@gmail.com> Gerrit-Reviewer: Awight <awi...@wikimedia.org> Gerrit-Reviewer: Ejegg <eeggles...@wikimedia.org> Gerrit-Reviewer: Mwalker <mwal...@khaosdev.com> Gerrit-Reviewer: Springle <sprin...@wikimedia.org> Gerrit-Reviewer: Ssmith <ssm...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits