MySQL57PlatformTest.php 2.12 KB
Newer Older
1 2 3 4
<?php

namespace Doctrine\Tests\DBAL\Platforms;

5
use Doctrine\DBAL\Platforms\AbstractPlatform;
6
use Doctrine\DBAL\Platforms\MySQL57Platform;
7
use Doctrine\DBAL\Types\Types;
8

9
class MySQL57PlatformTest extends AbstractMySQLPlatformTestCase
10
{
11
    public function createPlatform(): AbstractPlatform
12 13 14 15
    {
        return new MySQL57Platform();
    }

16
    public function testHasNativeJsonType(): void
17
    {
Sergei Morozov's avatar
Sergei Morozov committed
18
        self::assertTrue($this->platform->hasNativeJsonType());
19 20
    }

21
    public function testReturnsJsonTypeDeclarationSQL(): void
22
    {
Sergei Morozov's avatar
Sergei Morozov committed
23
        self::assertSame('JSON', $this->platform->getJsonTypeDeclarationSQL([]));
24 25
    }

26
    public function testInitializesJsonTypeMapping(): void
27
    {
Sergei Morozov's avatar
Sergei Morozov committed
28
        self::assertTrue($this->platform->hasDoctrineTypeMappingFor('json'));
29
        self::assertSame(Types::JSON, $this->platform->getDoctrineTypeMapping('json'));
30 31
    }

32
    /**
33 34
     * @return string[]
     *
35 36
     * @group DBAL-234
     */
37
    protected function getAlterTableRenameIndexSQL(): array
38
    {
Sergei Morozov's avatar
Sergei Morozov committed
39
        return ['ALTER TABLE mytable RENAME INDEX idx_foo TO idx_bar'];
40 41 42
    }

    /**
43 44
     * @return string[]
     *
45 46
     * @group DBAL-234
     */
47
    protected function getQuotedAlterTableRenameIndexSQL(): array
48
    {
Sergei Morozov's avatar
Sergei Morozov committed
49
        return [
50 51
            'ALTER TABLE `table` RENAME INDEX `create` TO `select`',
            'ALTER TABLE `table` RENAME INDEX `foo` TO `bar`',
Sergei Morozov's avatar
Sergei Morozov committed
52
        ];
53
    }
54 55

    /**
56 57
     * @return string[]
     *
58 59
     * @group DBAL-807
     */
60
    protected function getAlterTableRenameIndexInSchemaSQL(): array
61
    {
Sergei Morozov's avatar
Sergei Morozov committed
62
        return ['ALTER TABLE myschema.mytable RENAME INDEX idx_foo TO idx_bar'];
63 64 65
    }

    /**
66 67
     * @return string[]
     *
68 69
     * @group DBAL-807
     */
70
    protected function getQuotedAlterTableRenameIndexInSchemaSQL(): array
71
    {
Sergei Morozov's avatar
Sergei Morozov committed
72
        return [
73 74
            'ALTER TABLE `schema`.`table` RENAME INDEX `create` TO `select`',
            'ALTER TABLE `schema`.`table` RENAME INDEX `foo` TO `bar`',
Sergei Morozov's avatar
Sergei Morozov committed
75
        ];
76
    }
77 78 79 80

    /**
     * {@inheritdoc}
     */
81
    protected function getGeneratesAlterTableRenameIndexUsedByForeignKeySQL(): array
82
    {
Sergei Morozov's avatar
Sergei Morozov committed
83
        return ['ALTER TABLE mytable RENAME INDEX idx_foo TO idx_foo_renamed'];
84
    }
85
}