Fixes #17057: Fixed issues with table names that contain special characters or keywords in MSSQL

This commit is contained in:
Alexander Kartavenko
2019-07-02 14:41:56 +03:00
committed by Alexander Makarov
parent fc29f5f843
commit eb65dba796
6 changed files with 122 additions and 10 deletions

View File

@ -82,4 +82,29 @@ class SchemaTest extends \yiiunit\framework\db\SchemaTest
return $result;
}
/**
* @dataProvider quoteTableNameDataProvider
* @param $name
* @param $expectedName
* @throws \yii\base\NotSupportedException
*/
public function testQuoteTableName($name, $expectedName)
{
$schema = $this->getConnection()->getSchema();
$quotedName = $schema->quoteTableName($name);
$this->assertEquals($expectedName, $quotedName);
}
public function quoteTableNameDataProvider()
{
return [
['test', '`test`'],
['test.test', '`test`.`test`'],
['test.test.test', '`test`.`test`.`test`'],
['`test`', '`test`'],
['`test`.`test`', '`test`.`test`'],
['test.`test`.test', '`test`.`test`.`test`'],
];
}
}