From bf6655a534a6775d30cafa67bd801276bda1d98d Mon Sep 17 00:00:00 2001 From: polo Date: Tue, 13 Aug 2024 23:45:21 +0200 Subject: =?UTF-8?q?VERSION=200.2=20doctrine=20ORM=20et=20entit=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/Driver/API/SQLite/ExceptionConverter.php | 85 ++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 vendor/doctrine/dbal/src/Driver/API/SQLite/ExceptionConverter.php (limited to 'vendor/doctrine/dbal/src/Driver/API/SQLite/ExceptionConverter.php') diff --git a/vendor/doctrine/dbal/src/Driver/API/SQLite/ExceptionConverter.php b/vendor/doctrine/dbal/src/Driver/API/SQLite/ExceptionConverter.php new file mode 100644 index 0000000..5885195 --- /dev/null +++ b/vendor/doctrine/dbal/src/Driver/API/SQLite/ExceptionConverter.php @@ -0,0 +1,85 @@ +getMessage(), 'database is locked')) { + return new LockWaitTimeoutException($exception, $query); + } + + if ( + str_contains($exception->getMessage(), 'must be unique') || + str_contains($exception->getMessage(), 'is not unique') || + str_contains($exception->getMessage(), 'are not unique') || + str_contains($exception->getMessage(), 'UNIQUE constraint failed') + ) { + return new UniqueConstraintViolationException($exception, $query); + } + + if ( + str_contains($exception->getMessage(), 'may not be NULL') || + str_contains($exception->getMessage(), 'NOT NULL constraint failed') + ) { + return new NotNullConstraintViolationException($exception, $query); + } + + if (str_contains($exception->getMessage(), 'no such table:')) { + return new TableNotFoundException($exception, $query); + } + + if (str_contains($exception->getMessage(), 'already exists')) { + return new TableExistsException($exception, $query); + } + + if (str_contains($exception->getMessage(), 'has no column named')) { + return new InvalidFieldNameException($exception, $query); + } + + if (str_contains($exception->getMessage(), 'ambiguous column name')) { + return new NonUniqueFieldNameException($exception, $query); + } + + if (str_contains($exception->getMessage(), 'syntax error')) { + return new SyntaxErrorException($exception, $query); + } + + if (str_contains($exception->getMessage(), 'attempt to write a readonly database')) { + return new ReadOnlyException($exception, $query); + } + + if (str_contains($exception->getMessage(), 'unable to open database file')) { + return new ConnectionException($exception, $query); + } + + if (str_contains($exception->getMessage(), 'FOREIGN KEY constraint failed')) { + return new ForeignKeyConstraintViolationException($exception, $query); + } + + return new DriverException($exception, $query); + } +} -- cgit v1.2.3