diff --git a/.github/workflows/mutation.yml b/.github/workflows/mutation.yml index b00f9630..3a770ea2 100644 --- a/.github/workflows/mutation.yml +++ b/.github/workflows/mutation.yml @@ -59,6 +59,6 @@ jobs: - name: Run infection. run: | - vendor/bin/roave-infection-static-analysis-plugin --threads=2 --ignore-msi-with-no-mutations --only-covered + vendor/bin/roave-infection-static-analysis-plugin --threads=2 --ignore-msi-with-no-mutations env: STRYKER_DASHBOARD_API_KEY: ${{ secrets.STRYKER_DASHBOARD_API_KEY }} diff --git a/CHANGELOG.md b/CHANGELOG.md index fa617d4d..ff635156 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -53,6 +53,7 @@ - Enh #387: Refactor `DMLQueryBuilder::upsert()` method (@Tigrov) - Chg #391: Update expression namespaces according to changes in `yiisoft/db` package (@Tigrov) - Chg #402: Throw exception on "unsigned" column usage (@vjik) +- Chg #405: Add `ColumnDefinitionParser` class (@vjik) ## 1.2.0 March 21, 2024 diff --git a/src/Column/ColumnDefinitionParser.php b/src/Column/ColumnDefinitionParser.php new file mode 100644 index 00000000..8d7cdb91 --- /dev/null +++ b/src/Column/ColumnDefinitionParser.php @@ -0,0 +1,34 @@ + $this->parseSizeInfo($params), + default => [], + }; + } +} diff --git a/src/Column/ColumnFactory.php b/src/Column/ColumnFactory.php index 14ffe8d3..ce7faca6 100644 --- a/src/Column/ColumnFactory.php +++ b/src/Column/ColumnFactory.php @@ -7,6 +7,7 @@ use Yiisoft\Db\Constant\ColumnType; use Yiisoft\Db\Schema\Column\AbstractColumnFactory; use Yiisoft\Db\Schema\Column\ColumnInterface; +use Yiisoft\Db\Syntax\ColumnDefinitionParserInterface; use function str_replace; use function substr; @@ -85,4 +86,9 @@ protected function normalizeNotNullDefaultValue(string $defaultValue, ColumnInte return parent::normalizeNotNullDefaultValue($defaultValue, $column); } + + protected function columnDefinitionParser(): ColumnDefinitionParserInterface + { + return new ColumnDefinitionParser(); + } } diff --git a/tests/ColumnDefinitionParserTest.php b/tests/ColumnDefinitionParserTest.php new file mode 100644 index 00000000..1317e76f --- /dev/null +++ b/tests/ColumnDefinitionParserTest.php @@ -0,0 +1,20 @@ +