ConnectionTest.php 1.33 KB
Newer Older
1 2
<?php

3
namespace Doctrine\DBAL\Tests\Functional\Driver\OCI8;
4

5
use Doctrine\DBAL\Driver\OCI8\Connection;
6
use Doctrine\DBAL\Driver\OCI8\Driver;
7
use Doctrine\DBAL\Schema\Table;
8
use Doctrine\DBAL\Tests\FunctionalTestCase;
9

10 11 12
/**
 * @requires extension oci8
 */
13
class ConnectionTest extends FunctionalTestCase
14
{
15
    /** @var Connection */
16 17
    protected $driverConnection;

18
    protected function setUp(): void
19 20 21
    {
        parent::setUp();

Sergei Morozov's avatar
Sergei Morozov committed
22
        if (! $this->connection->getDriver() instanceof Driver) {
23
            self::markTestSkipped('oci8 only test.');
24 25
        }

Sergei Morozov's avatar
Sergei Morozov committed
26
        $this->driverConnection = $this->connection->getWrappedConnection();
27 28
    }

29
    public function testLastInsertIdAcceptsFqn(): void
30
    {
Sergei Morozov's avatar
Sergei Morozov committed
31 32
        $platform      = $this->connection->getDatabasePlatform();
        $schemaManager = $this->connection->getSchemaManager();
33 34

        $table = new Table('DBAL2595');
Sergei Morozov's avatar
Sergei Morozov committed
35
        $table->addColumn('id', 'integer', ['autoincrement' => true]);
36 37 38 39
        $table->addColumn('foo', 'integer');

        $schemaManager->dropAndCreateTable($table);

40
        $this->connection->executeStatement('INSERT INTO DBAL2595 (foo) VALUES (1)');
41

Sergei Morozov's avatar
Sergei Morozov committed
42
        $schema   = $this->connection->getDatabase();
43
        $sequence = $platform->getIdentitySequenceName($schema . '.DBAL2595', 'id');
44

45
        self::assertSame(1, $this->driverConnection->lastInsertId($sequence));
46 47
    }
}