Initial commit - Event Planner application
This commit is contained in:
70
node_modules/@mikro-orm/sql/dialects/sqlite/SqliteExceptionConverter.js
generated
vendored
Normal file
70
node_modules/@mikro-orm/sql/dialects/sqlite/SqliteExceptionConverter.js
generated
vendored
Normal file
@@ -0,0 +1,70 @@
|
||||
import {
|
||||
ConnectionException,
|
||||
ExceptionConverter,
|
||||
InvalidFieldNameException,
|
||||
LockWaitTimeoutException,
|
||||
NonUniqueFieldNameException,
|
||||
CheckConstraintViolationException,
|
||||
NotNullConstraintViolationException,
|
||||
ReadOnlyException,
|
||||
SyntaxErrorException,
|
||||
TableExistsException,
|
||||
TableNotFoundException,
|
||||
UniqueConstraintViolationException,
|
||||
ForeignKeyConstraintViolationException,
|
||||
} from '@mikro-orm/core';
|
||||
export class SqliteExceptionConverter extends ExceptionConverter {
|
||||
/**
|
||||
* @inheritDoc
|
||||
* @see http://www.sqlite.org/c3ref/c_abort.html
|
||||
* @see https://github.com/doctrine/dbal/blob/master/src/Driver/AbstractSQLiteDriver.php
|
||||
*/
|
||||
convertException(exception) {
|
||||
/* v8 ignore next */
|
||||
if (exception.message.includes('database is locked')) {
|
||||
return new LockWaitTimeoutException(exception);
|
||||
}
|
||||
if (
|
||||
exception.message.includes('must be unique') ||
|
||||
exception.message.includes('is not unique') ||
|
||||
exception.message.includes('are not unique') ||
|
||||
exception.message.includes('UNIQUE constraint failed')
|
||||
) {
|
||||
return new UniqueConstraintViolationException(exception);
|
||||
}
|
||||
if (exception.message.includes('may not be NULL') || exception.message.includes('NOT NULL constraint failed')) {
|
||||
return new NotNullConstraintViolationException(exception);
|
||||
}
|
||||
/* v8 ignore next */
|
||||
if (exception.message.includes('CHECK constraint failed')) {
|
||||
return new CheckConstraintViolationException(exception);
|
||||
}
|
||||
if (exception.message.includes('no such table:')) {
|
||||
return new TableNotFoundException(exception);
|
||||
}
|
||||
if (exception.message.includes('already exists')) {
|
||||
return new TableExistsException(exception);
|
||||
}
|
||||
if (exception.message.includes('no such column:')) {
|
||||
return new InvalidFieldNameException(exception);
|
||||
}
|
||||
if (exception.message.includes('ambiguous column name')) {
|
||||
return new NonUniqueFieldNameException(exception);
|
||||
}
|
||||
if (exception.message.includes('syntax error')) {
|
||||
return new SyntaxErrorException(exception);
|
||||
}
|
||||
/* v8 ignore next */
|
||||
if (exception.message.includes('attempt to write a readonly database')) {
|
||||
return new ReadOnlyException(exception);
|
||||
}
|
||||
/* v8 ignore next */
|
||||
if (exception.message.includes('unable to open database file')) {
|
||||
return new ConnectionException(exception);
|
||||
}
|
||||
if (exception.message.includes('FOREIGN KEY constraint failed')) {
|
||||
return new ForeignKeyConstraintViolationException(exception);
|
||||
}
|
||||
return super.convertException(exception);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user