Fix retrieve sequence name from default value (#309) · yiisoft/db-pgsql@53d7b0e

Original file line numberDiff line numberDiff line change

@@ -800,13 +800,9 @@ protected function loadColumnSchema(array $info): ColumnSchemaInterface

800800
801801

if (

802802

$defaultValue !== null

803-

&& preg_match("/nextval\\('\"?\\w+\"?\.?\"?\\w+\"?'(::regclass)?\\)/", $defaultValue) === 1

803+

&& preg_match("/^nextval\('([^']+)/", $defaultValue, $matches) === 1

804804

) {

805-

$column->sequenceName(preg_replace(

806-

['/nextval/', '/::/', '/regclass/', '/\'\)/', '/\(\'/'],

807-

'',

808-

$defaultValue

809-

));

805+

$column->sequenceName($matches[1]);

810806

} elseif ($info['sequence_name'] !== null) {

811807

$column->sequenceName($this->resolveTableName($info['sequence_name'])->getFullName());

812808

}