Browse Source

IntegrityException should be thrown for relational DBs only

tags/2.0.0-rc
Alexander Makarov 11 years ago
parent
commit
7764086c5d
  1. 11
      framework/db/Command.php

11
framework/db/Command.php

@ -781,10 +781,13 @@ class Command extends \yii\base\Component
throw $e;
} else {
$exceptionClass = '\yii\db\Exception';
$errorMap = $this->db->getSchema()->errorMap;
foreach ($errorMap as $error => $class) {
if (strpos($e->getMessage(), $error) !== false) {
$exceptionClass = $class;
$schema = $this->db->getSchema();
if ($schema instanceof Schema) {
$exceptionMap = $schema->exceptionMap;
foreach ($exceptionMap as $error => $class) {
if (strpos($e->getMessage(), $error) !== false) {
$exceptionClass = $class;
}
}
}

Loading…
Cancel
Save