<?php namespace Doctrine\DBAL\Tests\Platforms; use Doctrine\DBAL\Platforms\AbstractPlatform; use Doctrine\DBAL\Platforms\MySQL57Platform; use Doctrine\DBAL\Types\Types; class MySQL57PlatformTest extends AbstractMySQLPlatformTestCase { public function createPlatform() : AbstractPlatform { return new MySQL57Platform(); } public function testHasNativeJsonType() : void { self::assertTrue($this->platform->hasNativeJsonType()); } public function testReturnsJsonTypeDeclarationSQL() : void { self::assertSame('JSON', $this->platform->getJsonTypeDeclarationSQL([])); } public function testInitializesJsonTypeMapping() : void { self::assertTrue($this->platform->hasDoctrineTypeMappingFor('json')); self::assertSame(Types::JSON, $this->platform->getDoctrineTypeMapping('json')); } /** * @return string[] * * @group DBAL-234 */ protected function getAlterTableRenameIndexSQL() : array { return ['ALTER TABLE mytable RENAME INDEX idx_foo TO idx_bar']; } /** * @return string[] * * @group DBAL-234 */ protected function getQuotedAlterTableRenameIndexSQL() : array { return [ 'ALTER TABLE `table` RENAME INDEX `create` TO `select`', 'ALTER TABLE `table` RENAME INDEX `foo` TO `bar`', ]; } /** * @return string[] * * @group DBAL-807 */ protected function getAlterTableRenameIndexInSchemaSQL() : array { return ['ALTER TABLE myschema.mytable RENAME INDEX idx_foo TO idx_bar']; } /** * @return string[] * * @group DBAL-807 */ protected function getQuotedAlterTableRenameIndexInSchemaSQL() : array { return [ 'ALTER TABLE `schema`.`table` RENAME INDEX `create` TO `select`', 'ALTER TABLE `schema`.`table` RENAME INDEX `foo` TO `bar`', ]; } /** * {@inheritdoc} */ protected function getGeneratesAlterTableRenameIndexUsedByForeignKeySQL() : array { return ['ALTER TABLE mytable RENAME INDEX idx_foo TO idx_foo_renamed']; } }