diff --git a/appinfo/info.xml b/appinfo/info.xml
index a0706cb09..d6f9d68a6 100644
--- a/appinfo/info.xml
+++ b/appinfo/info.xml
@@ -44,6 +44,7 @@
OCA\Deck\Command\UserExport
OCA\Deck\Command\BoardImport
+ OCA\Deck\Command\TransferOwnership
diff --git a/lib/Command/TransferOwnership.php b/lib/Command/TransferOwnership.php
new file mode 100644
index 000000000..e7b242efb
--- /dev/null
+++ b/lib/Command/TransferOwnership.php
@@ -0,0 +1,63 @@
+setName('deck:transfer-ownership')
+ ->setDescription('Change owner of deck entities')
+ ->addArgument(
+ 'owner',
+ InputArgument::REQUIRED,
+ 'Owner uid'
+ )
+ ->addArgument(
+ 'newOwner',
+ InputArgument::REQUIRED,
+ 'New owner uid'
+ );
+ }
+
+ protected function execute(InputInterface $input, OutputInterface $output) {
+ $owner = $input->getArgument('owner');
+ $newOwner = $input->getArgument('newOwner');
+ $db = \OC::$server->getDatabaseConnection();
+
+ $output->writeln("Transfer deck entities from $owner to $newOwner");
+ $params = [
+ 'owner' => $owner,
+ 'newOwner' => $newOwner
+ ];
+
+ $output->writeln('update oc_deck_assigned_users');
+ $stmt = $db->prepare('UPDATE `oc_deck_assigned_users` SET `participant` = :newOwner WHERE `participant` = :owner');
+ $stmt->execute($params);
+
+ $output->writeln('update oc_deck_attachment');
+ $stmt = $db->prepare('UPDATE `oc_deck_attachment` SET `created_by` = :newOwner WHERE `created_by` = :owner');
+ $stmt->execute($params);
+
+ $output->writeln('update oc_deck_boards');
+ $stmt = $db->prepare('UPDATE `oc_deck_boards` SET `owner` = :newOwner WHERE `owner` = :owner');
+ $stmt->execute($params);
+
+ $output->writeln('update oc_deck_board_acl');
+ $stmt = $db->prepare('UPDATE `oc_deck_board_acl` SET `participant` = :newOwner WHERE `participant` = :owner');
+ $stmt->execute($params);
+
+ $output->writeln('update oc_deck_cards');
+ $stmt = $db->prepare('UPDATE `oc_deck_cards` SET `owner` = :newOwner WHERE `owner` = :owner');
+ $stmt->execute($params);
+
+ $output->writeln("Transfer deck entities from $owner to $newOwner completed");
+ }
+
+}