Bene has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/234958

Change subject: Add badges_per_sitelink table
......................................................................

Add badges_per_sitelink table

This allows us to store badges in a queryable way.

Bug: T72229
Change-Id: Ief2878edc7bd656bc66f7cc16dcefbb8c39fcec9
---
M repo/includes/store/sql/SqlStore.php
A repo/sql/AddBadgesPerSitelink.sql
2 files changed, 23 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/58/234958/1

diff --git a/repo/includes/store/sql/SqlStore.php 
b/repo/includes/store/sql/SqlStore.php
index 3385c86..4998429 100644
--- a/repo/includes/store/sql/SqlStore.php
+++ b/repo/includes/store/sql/SqlStore.php
@@ -279,13 +279,11 @@
                $this->updateTermsTable( $updater, $db );
                $this->updateItemsPerSiteTable( $updater, $db );
                $this->updateChangesTable( $updater, $db );
+               $this->updateBadgesPerSiteLinkTable( $updater, $db );
 
                $this->registerPropertyInfoTableUpdates( $updater );
        }
 
-       /**
-        * @param DatabaseUpdater $updater
-        */
        private function updateItemsPerSiteTable( DatabaseUpdater $updater, 
DatabaseBase $db ) {
                // Make wb_items_per_site.ips_site_page VARCHAR(310) - T99459
                // NOTE: this update doesn't work on SQLite, but it's not 
needed there anyway.
@@ -298,9 +296,6 @@
                }
        }
 
-       /**
-        * @param DatabaseUpdater $updater
-        */
        private function updateChangesTable( DatabaseUpdater $updater, 
DatabaseBase $db ) {
                // Make wb_changes.change_info MEDIUMBLOB - T108246
                // NOTE: this update doesn't work on SQLite, but it's not 
needed there anyway.
@@ -313,6 +308,17 @@
                }
        }
 
+       private function updateBadgesPerSiteLinkTable( DatabaseUpdater 
$updater, DatabaseBase $db ) {
+               if ( !$db->tableExists( 'wb_badges_per_sitelink' ) ) {
+                       $updater->addExtensionTable(
+                               'wb_badges_per_sitelink',
+                               $this->getUpdateScriptPath( 
'AddBadgesPerSiteLink', $db->getType() )
+                       );
+
+                       // TODO populate table
+               }
+       }
+
        private function registerPropertyInfoTableUpdates( DatabaseUpdater 
$updater ) {
                $table = 'wb_property_info';
 
diff --git a/repo/sql/AddBadgesPerSitelink.sql 
b/repo/sql/AddBadgesPerSitelink.sql
new file mode 100644
index 0000000..70ec16d
--- /dev/null
+++ b/repo/sql/AddBadgesPerSitelink.sql
@@ -0,0 +1,11 @@
+-- Licence: GNU GPL v2+
+
+-- Badges to site links
+CREATE TABLE IF NOT EXISTS /*_*/wb_badges_per_sitelink (
+  bps_badge_id                   VARBINARY(32)       NOT NULL, -- Id of badge 
item
+  bps_site_id                    VARBINARY(32)       NOT NULL,  -- Site of the 
page that has the badge
+  bps_site_page                  VARCHAR(310)        NOT NULL -- Name of the 
page
+) /*$wgDBTableOptions*/;
+
+CREATE UNIQUE INDEX /*i*/wb_bps_badges ON /*_*/wb_badges_per_sitelink 
(bps_badge_id, bps_site_id, bps_site_page);
+CREATE INDEX /*i*/wb_bps_pages_per_site ON /*_*/wb_badges_per_sitelink 
(bps_site_id, bps_site_page);

-- 
To view, visit https://gerrit.wikimedia.org/r/234958
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ief2878edc7bd656bc66f7cc16dcefbb8c39fcec9
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Bene <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to