Skip to content

Commit 1c972dd

Browse files
Merge pull request #54861 from nextcloud/backport/54842/stable32
[stable32] feat(migration-attributes): add DataCleansing
2 parents 922eae9 + fa1680c commit 1c972dd

24 files changed

+99
-36
lines changed

apps/cloud_federation_api/lib/Migration/Version1016Date202502262004.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,11 @@
1212
use Closure;
1313
use OCP\DB\ISchemaWrapper;
1414
use OCP\DB\Types;
15+
use OCP\Migration\Attributes\CreateTable;
1516
use OCP\Migration\IOutput;
1617
use OCP\Migration\SimpleMigrationStep;
1718

19+
#[CreateTable(table: 'federated_invites', columns: ['id', 'user_id', 'recipient_provider', 'recipient_user_id', 'recipient_name', 'recipient_email', 'token', 'accepted', 'created_at', 'expired_at', 'accepted_at'], description: 'Supporting the OCM Invitation Flow feature')]
1820
class Version1016Date202502262004 extends SimpleMigrationStep {
1921
/**
2022
* @param IOutput $output

apps/dav/lib/Migration/Version1034Date20250605132605.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,14 @@
1212
use Closure;
1313
use OCP\DB\ISchemaWrapper;
1414
use OCP\DB\Types;
15+
use OCP\Migration\Attributes\AddColumn;
16+
use OCP\Migration\Attributes\ColumnType;
17+
use OCP\Migration\Attributes\CreateTable;
1518
use OCP\Migration\IOutput;
1619
use OCP\Migration\SimpleMigrationStep;
1720

21+
#[AddColumn(table: 'dav_shares', name: 'token', type: ColumnType::STRING)]
22+
#[CreateTable(table: 'calendars_federated', columns: ['id', 'display_name', 'color', 'uri', 'principaluri', 'remote_Url', 'token', 'sync_token', 'last_sync', 'shared_by', 'shared_by_display_name', 'components', 'permissions'], description: 'Supporting Federated Calender')]
1823
class Version1034Date20250605132605 extends SimpleMigrationStep {
1924
/**
2025
* @param IOutput $output

apps/dav/lib/Migration/Version1034Date20250813093701.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,12 @@
1313
use OCP\DB\ISchemaWrapper;
1414
use OCP\DB\QueryBuilder\IQueryBuilder;
1515
use OCP\IDBConnection;
16+
use OCP\Migration\Attributes\DataCleansing;
1617
use OCP\Migration\IOutput;
1718
use OCP\Migration\SimpleMigrationStep;
1819
use Override;
1920

21+
#[DataCleansing(table: 'properties', description: 'remove commonly used custom properties set as default')]
2022
class Version1034Date20250813093701 extends SimpleMigrationStep {
2123
public function __construct(
2224
private IDBConnection $db,

build/psalm/OcpSinceChecker.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ public static function afterClassLikeVisit(AfterClassLikeVisitEvent $event): voi
2626

2727
$isTesting = str_contains($statementsSource->getFilePath(), '/lib/public/Notification/')
2828
|| str_contains($statementsSource->getFilePath(), '/lib/public/Config/')
29+
|| str_contains($statementsSource->getFilePath(), '/lib/public/Migration/Attributes/')
2930
|| str_contains($statementsSource->getFilePath(), 'CalendarEventStatus');
3031

3132
if ($isTesting) {

core/Migrations/Version32000Date20250620081925.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,11 @@
99

1010
namespace OC\Core\Migrations;
1111

12+
use OCP\Migration\Attributes\DataCleansing;
13+
1214
/**
1315
* Run the old migration Version24000Date20211210141942 again.
1416
*/
17+
#[DataCleansing(table: 'preferences', description: 'lowercase accounts email address')]
1518
class Version32000Date20250620081925 extends Version24000Date20211210141942 {
1619
}

core/Migrations/Version32000Date20250731062008.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
use Closure;
1313
use OCP\DB\ISchemaWrapper;
1414
use OCP\IDBConnection;
15+
use OCP\Migration\Attributes\DataCleansing;
1516
use OCP\Migration\IOutput;
1617
use OCP\Migration\SimpleMigrationStep;
1718
use Override;
@@ -21,6 +22,8 @@
2122
* This migration will clean up existing duplicates.
2223
* The new unique constraint is added in @see \OC\Core\Listener\AddMissingIndicesListener
2324
*/
25+
#[DataCleansing(table: 'vcategory', description: 'Cleanup of duplicate vcategory records')]
26+
#[DataCleansing(table: 'vcategory_to_object', description: 'Update object references')]
2427
class Version32000Date20250731062008 extends SimpleMigrationStep {
2528
public function __construct(
2629
private IDBConnection $connection,

lib/composer/composer/autoload_classmap.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -678,6 +678,8 @@
678678
'OCP\\Migration\\Attributes\\ColumnMigrationAttribute' => $baseDir . '/lib/public/Migration/Attributes/ColumnMigrationAttribute.php',
679679
'OCP\\Migration\\Attributes\\ColumnType' => $baseDir . '/lib/public/Migration/Attributes/ColumnType.php',
680680
'OCP\\Migration\\Attributes\\CreateTable' => $baseDir . '/lib/public/Migration/Attributes/CreateTable.php',
681+
'OCP\\Migration\\Attributes\\DataCleansing' => $baseDir . '/lib/public/Migration/Attributes/DataCleansing.php',
682+
'OCP\\Migration\\Attributes\\DataMigrationAttribute' => $baseDir . '/lib/public/Migration/Attributes/DataMigrationAttribute.php',
681683
'OCP\\Migration\\Attributes\\DropColumn' => $baseDir . '/lib/public/Migration/Attributes/DropColumn.php',
682684
'OCP\\Migration\\Attributes\\DropIndex' => $baseDir . '/lib/public/Migration/Attributes/DropIndex.php',
683685
'OCP\\Migration\\Attributes\\DropTable' => $baseDir . '/lib/public/Migration/Attributes/DropTable.php',

lib/composer/composer/autoload_static.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -719,6 +719,8 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
719719
'OCP\\Migration\\Attributes\\ColumnMigrationAttribute' => __DIR__ . '/../../..' . '/lib/public/Migration/Attributes/ColumnMigrationAttribute.php',
720720
'OCP\\Migration\\Attributes\\ColumnType' => __DIR__ . '/../../..' . '/lib/public/Migration/Attributes/ColumnType.php',
721721
'OCP\\Migration\\Attributes\\CreateTable' => __DIR__ . '/../../..' . '/lib/public/Migration/Attributes/CreateTable.php',
722+
'OCP\\Migration\\Attributes\\DataCleansing' => __DIR__ . '/../../..' . '/lib/public/Migration/Attributes/DataCleansing.php',
723+
'OCP\\Migration\\Attributes\\DataMigrationAttribute' => __DIR__ . '/../../..' . '/lib/public/Migration/Attributes/DataMigrationAttribute.php',
722724
'OCP\\Migration\\Attributes\\DropColumn' => __DIR__ . '/../../..' . '/lib/public/Migration/Attributes/DropColumn.php',
723725
'OCP\\Migration\\Attributes\\DropIndex' => __DIR__ . '/../../..' . '/lib/public/Migration/Attributes/DropIndex.php',
724726
'OCP\\Migration\\Attributes\\DropTable' => __DIR__ . '/../../..' . '/lib/public/Migration/Attributes/DropTable.php',

lib/public/Migration/Attributes/AddColumn.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@
99
namespace OCP\Migration\Attributes;
1010

1111
use Attribute;
12+
use OCP\AppFramework\Attribute\Consumable;
1213

1314
/**
1415
* attribute on new column creation
15-
*
16-
* @since 30.0.0
1716
*/
1817
#[Attribute(Attribute::IS_REPEATABLE | Attribute::TARGET_CLASS)]
18+
#[Consumable(since: '30.0.0')]
1919
class AddColumn extends ColumnMigrationAttribute {
2020
/**
2121
* @return string

lib/public/Migration/Attributes/AddIndex.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@
99
namespace OCP\Migration\Attributes;
1010

1111
use Attribute;
12+
use OCP\AppFramework\Attribute\Consumable;
1213

1314
/**
1415
* attribute on index creation
15-
*
16-
* @since 30.0.0
1716
*/
1817
#[Attribute(Attribute::IS_REPEATABLE | Attribute::TARGET_CLASS)]
18+
#[Consumable(since: '30.0.0')]
1919
class AddIndex extends IndexMigrationAttribute {
2020
/**
2121
* @return string

0 commit comments

Comments
 (0)