diff --git a/.github/workflows/mutation.yml b/.github/workflows/mutation.yml index 2aacbd3e..547990de 100644 --- a/.github/workflows/mutation.yml +++ b/.github/workflows/mutation.yml @@ -78,6 +78,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 6bc33563..f37dd3e8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -62,6 +62,7 @@ - Enh #406: Adapt to `DQLQueryBuilderInterface::buildWithQueries()` signature changes in `yiisoft/db` package (@vjik) - Bug #408, #409: Add `identity` support in `Schema::loadResultColumn()` (@vjik) - Chg #413: Throw exception on "unsigned" column usage (@vjik) +- Chg #416: 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..5e8da0a6 --- /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 698e0eb5..f08eb06e 100644 --- a/src/Column/ColumnFactory.php +++ b/src/Column/ColumnFactory.php @@ -9,6 +9,7 @@ use Yiisoft\Db\Expression\Expression; use Yiisoft\Db\Schema\Column\AbstractColumnFactory; use Yiisoft\Db\Schema\Column\ColumnInterface; +use Yiisoft\Db\Syntax\ColumnDefinitionParserInterface; use function hex2bin; use function str_starts_with; @@ -117,4 +118,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..1751a8b8 --- /dev/null +++ b/tests/ColumnDefinitionParserTest.php @@ -0,0 +1,20 @@ +