diff options
author | Joas Schilling <coding@schilljs.com> | 2018-01-31 13:13:14 +0100 |
---|---|---|
committer | Morris Jobke <hey@morrisjobke.de> | 2018-01-31 15:54:28 +0100 |
commit | 119de6467fd39938e79a7c96a16e25aba562172a (patch) | |
tree | 461ec1a93205f13d2c56fd64c4bcf39a25e5b636 | |
parent | bb7a2b23296848bf6070f75d5727c23b1530b174 (diff) | |
download | nextcloud-server-119de6467fd39938e79a7c96a16e25aba562172a.tar.gz nextcloud-server-119de6467fd39938e79a7c96a16e25aba562172a.zip |
Create the migrations table also with the UTF8mb4 collation
Signed-off-by: Joas Schilling <coding@schilljs.com>
-rw-r--r-- | lib/private/DB/MigrationService.php | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/lib/private/DB/MigrationService.php b/lib/private/DB/MigrationService.php index 5e2c7e69ee9..9afe231b326 100644 --- a/lib/private/DB/MigrationService.php +++ b/lib/private/DB/MigrationService.php @@ -130,22 +130,20 @@ class MigrationService { // Drop the table, when it didn't match our expectations. $this->connection->dropTable('migrations'); + + // Recreate the schema after the table was dropped. + $schema = new SchemaWrapper($this->connection); + } catch (SchemaException $e) { // Table not found, no need to panic, we will create it. } - $tableName = $this->connection->getPrefix() . 'migrations'; - $tableName = $this->connection->getDatabasePlatform()->quoteIdentifier($tableName); - - $columns = [ - 'app' => new Column($this->connection->getDatabasePlatform()->quoteIdentifier('app'), Type::getType('string'), ['length' => 255]), - 'version' => new Column($this->connection->getDatabasePlatform()->quoteIdentifier('version'), Type::getType('string'), ['length' => 255]), - ]; - $table = new Table($tableName, $columns); - $table->setPrimaryKey([ - $this->connection->getDatabasePlatform()->quoteIdentifier('app'), - $this->connection->getDatabasePlatform()->quoteIdentifier('version')]); - $this->connection->getSchemaManager()->createTable($table); + $table = $schema->createTable('migrations'); + $table->addColumn('app', Type::STRING, ['length' => 255]); + $table->addColumn('version', Type::STRING, ['length' => 255]); + $table->setPrimaryKey(['app', 'version']); + + $this->connection->migrateToSchema($schema->getWrappedSchema()); $this->migrationTableCreated = true; |