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

Reply via email to