krlove/eloquent-model-generator

Model generation on Postgres causes DB error

Closed this issue · 1 comments

Model generation on Postgres causes DB error

The command is:
php artisan krlove:generate:model Import/Task --table-name=imports.tasks

The result is:
`Doctrine\DBAL\Exception\DriverException : An exception occurred while executing 'SELECT quote_ident(r.conname) as conname, pg_catalog.pg_get_constraintdef(r.oid, true) as condef
FROM pg_catalog.pg_constraint r
WHERE r.conrelid =
(
SELECT c.oid
FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n
WHERE n.nspname NOT IN ('pg_catalog', 'information_schema', 'pg_toast') AND c.relname = 'tasks' AND n.nspname = ANY(current_schemas(false)) AND n.oid = c.relnamespace
)
AND r.contype = 'f'':

SQLSTATE[21000]: Cardinality violation: 7 ERROR: more than one row returned by a subquery used as an expression

at /var/www/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractPostgreSQLDriver.php:79
75|
76| break;
77| }
78|

79| return new Exception\DriverException($message, $exception);
80| }
81|
82| /**
83| * {@inheritdoc}

Exception trace:

1 Doctrine\DBAL\Driver\AbstractPostgreSQLDriver::convertException("An exception occurred while executing 'SELECT quote_ident(r.conname) as conname, pg_catalog.pg_get_constraintdef(r.oid, true) as condef
FROM pg_catalog.pg_constraint r
WHERE r.conrelid =
(
SELECT c.oid
FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n
WHERE n.nspname NOT IN ('pg_catalog', 'information_schema', 'pg_toast') AND c.relname = 'tasks' AND n.nspname = ANY(current_schemas(false)) AND n.oid = c.relnamespace
)
AND r.contype = 'f'':

SQLSTATE[21000]: Cardinality violation: 7 ERROR: more than one row returned by a subquery used as an expression", Object(Doctrine\DBAL\Driver\PDOException))
/var/www/vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php:169

2 Doctrine\DBAL\DBALException::wrapException(Object(Doctrine\DBAL\Driver\PDOPgSql\Driver), Object(Doctrine\DBAL\Driver\PDOException), "An exception occurred while executing 'SELECT quote_ident(r.conname) as conname, pg_catalog.pg_get_constraintdef(r.oid, true) as condef
FROM pg_catalog.pg_constraint r
WHERE r.conrelid =
(
SELECT c.oid
FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n
WHERE n.nspname NOT IN ('pg_catalog', 'information_schema', 'pg_toast') AND c.relname = 'tasks' AND n.nspname = ANY(current_schemas(false)) AND n.oid = c.relnamespace
)
AND r.contype = 'f'':

SQLSTATE[21000]: Cardinality violation: 7 ERROR: more than one row returned by a subquery used as an expression")
/var/www/vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php:149

Please use the argument -v to see more details.
`

It looks like Doctrine's SchemaManager is complaining on something, though hard to say what exactly it is. Will keep an eye if somebody else reports this, I will take closer look.