Skip to content

Commit

Permalink
Allow to backport #4804
Browse files Browse the repository at this point in the history
  • Loading branch information
mvorisek committed Jul 17, 2022
1 parent 39a05f6 commit 583d56a
Showing 1 changed file with 19 additions and 8 deletions.
27 changes: 19 additions & 8 deletions src/Platforms/SqlitePlatform.php
Original file line number Diff line number Diff line change
Expand Up @@ -328,14 +328,25 @@ protected function _getCommonIntegerTypeDeclarationSQL(array $column)
return ! empty($column['unsigned']) ? ' UNSIGNED' : '';
}

/**
* To backport https://github.com/doctrine/dbal/pull/4804 override
* this method to return unchanged $tableName.
*
* Removed in DBAL v4.0.
*/
protected function emulateSchemaInTableName(string $tableName): string
{
return str_replace('.', '__', $tableName);
}

/**
* {@inheritDoc}
*/
public function getForeignKeyDeclarationSQL(ForeignKeyConstraint $foreignKey)
{
return parent::getForeignKeyDeclarationSQL(new ForeignKeyConstraint(
$foreignKey->getQuotedLocalColumns($this),
str_replace('.', '__', $foreignKey->getQuotedForeignTableName($this)),
$this->emulateSchemaInTableName($foreignKey->getQuotedForeignTableName($this)),
$foreignKey->getQuotedForeignColumns($this),
$foreignKey->getName(),
$foreignKey->getOptions()
Expand All @@ -347,7 +358,7 @@ public function getForeignKeyDeclarationSQL(ForeignKeyConstraint $foreignKey)
*/
protected function _getCreateTableSQL($name, array $columns, array $options = [])
{
$name = str_replace('.', '__', $name);
$name = $this->emulateSchemaInTableName($name);
$queryFields = $this->getColumnDeclarationListSQL($columns);

if (isset($options['uniqueConstraints']) && ! empty($options['uniqueConstraints'])) {
Expand Down Expand Up @@ -461,7 +472,7 @@ public function getClobTypeDeclarationSQL(array $column)
*/
public function getListTableConstraintsSQL($table)
{
$table = str_replace('.', '__', $table);
$table = $this->emulateSchemaInTableName($table);

return sprintf(
"SELECT sql FROM sqlite_master WHERE type='index' AND tbl_name = %s AND sql NOT NULL ORDER BY name",
Expand All @@ -474,7 +485,7 @@ public function getListTableConstraintsSQL($table)
*/
public function getListTableColumnsSQL($table, $database = null)
{
$table = str_replace('.', '__', $table);
$table = $this->emulateSchemaInTableName($table);

return sprintf('PRAGMA table_info(%s)', $this->quoteStringLiteral($table));
}
Expand All @@ -484,7 +495,7 @@ public function getListTableColumnsSQL($table, $database = null)
*/
public function getListTableIndexesSQL($table, $database = null)
{
$table = str_replace('.', '__', $table);
$table = $this->emulateSchemaInTableName($table);

return sprintf('PRAGMA index_list(%s)', $this->quoteStringLiteral($table));
}
Expand Down Expand Up @@ -586,7 +597,7 @@ public function getName()
public function getTruncateTableSQL($tableName, $cascade = false)
{
$tableIdentifier = new Identifier($tableName);
$tableName = str_replace('.', '__', $tableIdentifier->getQuotedName($this));
$tableName = $this->emulateSchemaInTableName($tableIdentifier->getQuotedName($this));

return 'DELETE FROM ' . $tableName;
}
Expand Down Expand Up @@ -792,7 +803,7 @@ public function getBlobTypeDeclarationSQL(array $column)
*/
public function getTemporaryTableName($tableName)
{
$tableName = str_replace('.', '__', $tableName);
$tableName = $this->emulateSchemaInTableName($tableName);

return $tableName;
}
Expand Down Expand Up @@ -881,7 +892,7 @@ public function getCreateTableSQL(Table $table, $createFlags = null)
*/
public function getListTableForeignKeysSQL($table, $database = null)
{
$table = str_replace('.', '__', $table);
$table = $this->emulateSchemaInTableName($table);

return sprintf('PRAGMA foreign_key_list(%s)', $this->quoteStringLiteral($table));
}
Expand Down

0 comments on commit 583d56a

Please sign in to comment.