|
|
@@ -20,6 +20,7 @@ use Cake\Core\App;
|
|
|
use Cake\Database\Schema\TableSchema;
|
|
|
use Cake\Database\Type;
|
|
|
use Cake\Datasource\ConnectionInterface;
|
|
|
+use Cake\Datasource\ConnectionManager;
|
|
|
use Cake\Datasource\EntityInterface;
|
|
|
use Cake\Datasource\Exception\InvalidPrimaryKeyException;
|
|
|
use Cake\Datasource\RepositoryInterface;
|
|
|
@@ -583,7 +584,11 @@ class Table implements RepositoryInterface, EventListenerInterface, EventDispatc
|
|
|
unset($schema['_constraints']);
|
|
|
}
|
|
|
|
|
|
- $schema = new TableSchema($this->getTable(), $schema);
|
|
|
+ $connection = $this->getConnection();
|
|
|
+ if ($connection === null) {
|
|
|
+ $connection = ConnectionManager::get(static::defaultConnectionName());
|
|
|
+ }
|
|
|
+ $schema = $connection->getDriver()->newTableSchema($this->getTable(), $schema);
|
|
|
|
|
|
foreach ($constraints as $name => $value) {
|
|
|
$schema->addConstraint($name, $value);
|