From 72a896f772b7e925b08f8cc5a69bef38f358b2db Mon Sep 17 00:00:00 2001 From: epriestley Date: Sat, 16 May 2015 06:13:27 -0700 Subject: [PATCH] Add missing mail keys to Projects Ref T8216. Auditors: btrahan --- .../autopatches/20150515.project.mailkey.1.sql | 2 ++ .../autopatches/20150515.project.mailkey.2.php | 18 ++++++++++++++++++ .../project/storage/PhabricatorProject.php | 2 ++ 3 files changed, 22 insertions(+) create mode 100644 resources/sql/autopatches/20150515.project.mailkey.1.sql create mode 100644 resources/sql/autopatches/20150515.project.mailkey.2.php diff --git a/resources/sql/autopatches/20150515.project.mailkey.1.sql b/resources/sql/autopatches/20150515.project.mailkey.1.sql new file mode 100644 index 0000000000..277fbdafda --- /dev/null +++ b/resources/sql/autopatches/20150515.project.mailkey.1.sql @@ -0,0 +1,2 @@ +ALTER TABLE {$NAMESPACE}_project.project + ADD mailKey binary(20) NOT NULL; diff --git a/resources/sql/autopatches/20150515.project.mailkey.2.php b/resources/sql/autopatches/20150515.project.mailkey.2.php new file mode 100644 index 0000000000..358c57d96d --- /dev/null +++ b/resources/sql/autopatches/20150515.project.mailkey.2.php @@ -0,0 +1,18 @@ +establishConnection('w'); +$iterator = new LiskMigrationIterator($table); +foreach ($iterator as $project) { + $id = $project->getID(); + + echo pht('Adding mail key for project %d...', $id); + echo "\n"; + + queryfx( + $conn_w, + 'UPDATE %T SET mailKey = %s WHERE id = %d', + $table->getTableName(), + Filesystem::readRandomCharacters(20), + $id); +} diff --git a/src/applications/project/storage/PhabricatorProject.php b/src/applications/project/storage/PhabricatorProject.php index df013e1616..de3b00c4b6 100644 --- a/src/applications/project/storage/PhabricatorProject.php +++ b/src/applications/project/storage/PhabricatorProject.php @@ -17,6 +17,7 @@ final class PhabricatorProject extends PhabricatorProjectDAO protected $profileImagePHID; protected $icon; protected $color; + protected $mailKey; protected $viewPolicy; protected $editPolicy; @@ -142,6 +143,7 @@ final class PhabricatorProject extends PhabricatorProjectDAO 'profileImagePHID' => 'phid?', 'icon' => 'text32', 'color' => 'text32', + 'mailKey' => 'bytes20', // T6203/NULLABILITY // These are definitely wrong and should always exist.