function InsertTest::testInsertIntegrityViolation
Same name in other branches
- 9 core/tests/Drupal/KernelTests/Core/Database/InsertTest.php \Drupal\KernelTests\Core\Database\InsertTest::testInsertIntegrityViolation()
- 10 core/tests/Drupal/KernelTests/Core/Database/InsertTest.php \Drupal\KernelTests\Core\Database\InsertTest::testInsertIntegrityViolation()
Tests insertion integrity violation with no default value for a column.
File
-
core/
tests/ Drupal/ KernelTests/ Core/ Database/ InsertTest.php, line 218
Class
- InsertTest
- Tests the insert builder.
Namespace
Drupal\KernelTests\Core\DatabaseCode
public function testInsertIntegrityViolation() : void {
// Remove the default from the 'age' column, so that inserting a record
// without its value specified will lead to integrity failure.
$this->connection
->schema()
->changeField('test', 'age', 'age', [
'description' => "The person's age",
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
]);
// Try inserting a record that misses the value for the 'age' column,
// should raise an IntegrityConstraintViolationException.
$this->expectException(IntegrityConstraintViolationException::class);
$this->connection
->insert('test')
->fields([
'name',
])
->values([
'name' => 'Elvis',
])
->execute();
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.