diff --git a/CHANGELOG.md b/CHANGELOG.md index 7a107975..b37d090c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,23 @@ The format is based on [Keep a Changelog](https://keepachangelog.com), and this * *Nothing* +## [3.6.3] - 2023-06-14 +### Added +* *Nothing* + +### Changed +* *Nothing* + +### Deprecated +* *Nothing* + +### Removed +* *Nothing* + +### Fixed +* [#1817](https://github.com/shlinkio/shlink/issues/1817) Fix Shlink trying to create SQLite database tables even if they already exist. + + ## [3.6.2] - 2023-06-08 ### Added * *Nothing* diff --git a/module/CLI/src/Command/Db/CreateDatabaseCommand.php b/module/CLI/src/Command/Db/CreateDatabaseCommand.php index 0fd1b18c..129db1e0 100644 --- a/module/CLI/src/Command/Db/CreateDatabaseCommand.php +++ b/module/CLI/src/Command/Db/CreateDatabaseCommand.php @@ -5,7 +5,6 @@ declare(strict_types=1); namespace Shlinkio\Shlink\CLI\Command\Db; use Doctrine\DBAL\Connection; -use Doctrine\DBAL\Platforms\SqlitePlatform; use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\Mapping\ClassMetadata; use Shlinkio\Shlink\CLI\Util\ExitCode; @@ -80,10 +79,6 @@ class CreateDatabaseCommand extends AbstractDatabaseCommand private function ensureDatabaseExistsAndGetTables(): array { - if ($this->regularConn->getDriver()->getDatabasePlatform() instanceof SqlitePlatform) { - return []; - } - try { // Trying to list tables requires opening a connection to configured database. // If it fails, it means it does not exist yet. diff --git a/module/CLI/test/Command/Db/CreateDatabaseCommandTest.php b/module/CLI/test/Command/Db/CreateDatabaseCommandTest.php index 66f46db4..420ea91d 100644 --- a/module/CLI/test/Command/Db/CreateDatabaseCommandTest.php +++ b/module/CLI/test/Command/Db/CreateDatabaseCommandTest.php @@ -7,7 +7,6 @@ namespace ShlinkioTest\Shlink\CLI\Command\Db; use Doctrine\DBAL\Connection; use Doctrine\DBAL\Driver; use Doctrine\DBAL\Platforms\AbstractPlatform; -use Doctrine\DBAL\Platforms\SqlitePlatform; use Doctrine\DBAL\Schema\AbstractSchemaManager; use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\Mapping\ClassMetadata; @@ -129,18 +128,4 @@ class CreateDatabaseCommandTest extends TestCase yield 'no tables' => [[]]; yield 'migrations table' => [['non_shlink_table']]; } - - #[Test] - public function databaseCheckIsSkippedForSqlite(): void - { - $this->driver->method('getDatabasePlatform')->willReturn($this->createMock(SqlitePlatform::class)); - $this->regularConn->expects($this->never())->method('getParams'); - $this->schemaManager->expects($this->never())->method('listDatabases'); - $this->schemaManager->expects($this->never())->method('createDatabase'); - $this->schemaManager->expects($this->never())->method('listTableNames'); - - $this->metadataFactory->expects($this->once())->method('getAllMetadata')->willReturn([]); - - $this->commandTester->execute([]); - } }