aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/testing/lib/Migration/Version30000Date20240102030405.php28
-rw-r--r--lib/public/Migration/Attributes/ColumnMigrationAttribute.php8
-rw-r--r--lib/public/Migration/Attributes/GenericMigrationAttribute.php4
-rw-r--r--lib/public/Migration/Attributes/IndexMigrationAttribute.php7
-rw-r--r--lib/public/Migration/Attributes/MigrationAttribute.php6
-rw-r--r--lib/public/Migration/Attributes/TableMigrationAttribute.php7
6 files changed, 46 insertions, 14 deletions
diff --git a/apps/testing/lib/Migration/Version30000Date20240102030405.php b/apps/testing/lib/Migration/Version30000Date20240102030405.php
index bacb187cb37..e7b6bdcd618 100644
--- a/apps/testing/lib/Migration/Version30000Date20240102030405.php
+++ b/apps/testing/lib/Migration/Version30000Date20240102030405.php
@@ -1,11 +1,11 @@
<?php
declare(strict_types=1);
-
/**
* SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
+
namespace OCA\Testing\Migration;
use Closure;
@@ -21,19 +21,19 @@ use OCP\Migration\Attributes\ModifyColumn;
use OCP\Migration\IOutput;
use OCP\Migration\SimpleMigrationStep;
-#[DropTable('old_table')]
-#[CreateTable('new_table', description: 'Table is used to store things, but also to get more things', notes: ['this is a notice', 'and another one, if really needed'])]
-#[AddColumn('my_table')]
-#[AddColumn('my_table', 'another_field')]
-#[AddColumn('other_table', 'last_one', ColumnType::DATE)]
-#[AddIndex('my_table')]
-#[AddIndex('my_table', IndexType::PRIMARY)]
-#[DropColumn('other_table')]
-#[DropColumn('other_table', 'old_column', description: 'field is not used anymore and replaced by \'last_one\'')]
-#[DropIndex('other_table')]
-#[ModifyColumn('other_table')]
-#[ModifyColumn('other_table', 'this_field')]
-#[ModifyColumn('other_table', 'this_field', ColumnType::BIGINT)]
+#[DropTable(table: 'old_table')]
+#[CreateTable(table: 'new_table', description: 'Table is used to store things, but also to get more things', notes: ['this is a notice', 'and another one, if really needed'])]
+#[AddColumn(table: 'my_table')]
+#[AddColumn(table: 'my_table', name: 'another_field')]
+#[AddColumn(table: 'other_table', name: 'last_one', type: ColumnType::DATE)]
+#[AddIndex(table: 'my_table')]
+#[AddIndex(table: 'my_table', type: IndexType::PRIMARY)]
+#[DropColumn(table: 'other_table')]
+#[DropColumn(table: 'other_table', name: 'old_column', description: 'field is not used anymore and replaced by \'last_one\'')]
+#[DropIndex(table: 'other_table')]
+#[ModifyColumn(table: 'other_table')]
+#[ModifyColumn(table: 'other_table', name: 'this_field')]
+#[ModifyColumn(table: 'other_table', name: 'this_field', type: ColumnType::BIGINT)]
class Version30000Date20240102030405 extends SimpleMigrationStep {
public function changeSchema(IOutput $output, Closure $schemaClosure, array $options) {
return null;
diff --git a/lib/public/Migration/Attributes/ColumnMigrationAttribute.php b/lib/public/Migration/Attributes/ColumnMigrationAttribute.php
index b750932a257..30b6fe008e6 100644
--- a/lib/public/Migration/Attributes/ColumnMigrationAttribute.php
+++ b/lib/public/Migration/Attributes/ColumnMigrationAttribute.php
@@ -16,6 +16,14 @@ use JsonSerializable;
* @since 30.0.0
*/
class ColumnMigrationAttribute extends MigrationAttribute implements JsonSerializable {
+ /**
+ * @param string $table name of the database table
+ * @param string $name name of the column
+ * @param ColumnType|null $type type of the column
+ * @param string $description description of the migration
+ * @param array $notes notes about the migration/column
+ * @since 30.0.0
+ */
public function __construct(
string $table,
private string $name = '',
diff --git a/lib/public/Migration/Attributes/GenericMigrationAttribute.php b/lib/public/Migration/Attributes/GenericMigrationAttribute.php
index d0c39a4a1a9..6f187635ff7 100644
--- a/lib/public/Migration/Attributes/GenericMigrationAttribute.php
+++ b/lib/public/Migration/Attributes/GenericMigrationAttribute.php
@@ -17,6 +17,10 @@ use JsonSerializable;
* @since 30.0.0
*/
class GenericMigrationAttribute extends MigrationAttribute implements JsonSerializable {
+ /**
+ * @param array $details
+ * @since 30.0.0
+ */
public function __construct(
private readonly array $details = []
) {
diff --git a/lib/public/Migration/Attributes/IndexMigrationAttribute.php b/lib/public/Migration/Attributes/IndexMigrationAttribute.php
index 0d6e946890e..88b60a564b3 100644
--- a/lib/public/Migration/Attributes/IndexMigrationAttribute.php
+++ b/lib/public/Migration/Attributes/IndexMigrationAttribute.php
@@ -16,6 +16,13 @@ use JsonSerializable;
* @since 30.0.0
*/
class IndexMigrationAttribute extends MigrationAttribute implements JsonSerializable {
+ /**
+ * @param string $table name of the database table
+ * @param IndexType|null $type type of the index
+ * @param string $description description of the migration
+ * @param array $notes notes abour the migration/index
+ * @since 30.0.0
+ */
public function __construct(
string $table,
private ?IndexType $type = null,
diff --git a/lib/public/Migration/Attributes/MigrationAttribute.php b/lib/public/Migration/Attributes/MigrationAttribute.php
index 19b2ffb56ed..5b4550c4db5 100644
--- a/lib/public/Migration/Attributes/MigrationAttribute.php
+++ b/lib/public/Migration/Attributes/MigrationAttribute.php
@@ -14,6 +14,12 @@ use JsonSerializable;
* @since 30.0.0
*/
class MigrationAttribute implements JsonSerializable {
+ /**
+ * @param string $table name of the database table
+ * @param string $description description of the migration
+ * @param array $notes notes about the migration
+ * @since 30.0.0
+ */
public function __construct(
private string $table,
private string $description = '',
diff --git a/lib/public/Migration/Attributes/TableMigrationAttribute.php b/lib/public/Migration/Attributes/TableMigrationAttribute.php
index f3ba406a4ab..0776e50387e 100644
--- a/lib/public/Migration/Attributes/TableMigrationAttribute.php
+++ b/lib/public/Migration/Attributes/TableMigrationAttribute.php
@@ -16,6 +16,13 @@ use JsonSerializable;
* @since 30.0.0
*/
class TableMigrationAttribute extends MigrationAttribute implements JsonSerializable {
+ /**
+ * @param string $table name of the database table
+ * @param array $columns list of columns
+ * @param string $description description of the migration
+ * @param array $notes notes about the migration/table
+ * @since 30.0.0
+ */
public function __construct(
string $table,
private array $columns = [],