Merge pull request #24072 from nextcloud/fix-storage-credential-migration

fix migration of oc_credentials table
This commit is contained in:
Morris Jobke 2020-11-12 15:49:05 +01:00 committed by GitHub
commit 29b97468f8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 25 additions and 23 deletions

View File

@ -52,26 +52,28 @@ class Version20000Date20201109081918 extends SimpleMigrationStep {
/** @var ISchemaWrapper $schema */ /** @var ISchemaWrapper $schema */
$schema = $schemaClosure(); $schema = $schemaClosure();
$table = $schema->createTable('storages_credentials'); if (!$schema->hasTable('storages_credentials')) {
$table->addColumn('id', Type::BIGINT, [ $table = $schema->createTable('storages_credentials');
'autoincrement' => true, $table->addColumn('id', Type::BIGINT, [
'notnull' => true, 'autoincrement' => true,
'length' => 64, 'notnull' => true,
]); 'length' => 64,
$table->addColumn('user', Type::STRING, [ ]);
'notnull' => false, $table->addColumn('user', Type::STRING, [
'length' => 64, 'notnull' => false,
]); 'length' => 64,
$table->addColumn('identifier', Type::STRING, [ ]);
'notnull' => true, $table->addColumn('identifier', Type::STRING, [
'length' => 64, 'notnull' => true,
]); 'length' => 64,
$table->addColumn('credentials', Type::TEXT, [ ]);
'notnull' => false, $table->addColumn('credentials', Type::TEXT, [
]); 'notnull' => false,
$table->setPrimaryKey(['id']); ]);
$table->addUniqueIndex(['user', 'identifier'], 'stocred_ui'); $table->setPrimaryKey(['id']);
$table->addIndex(['user'], 'stocred_user'); $table->addUniqueIndex(['user', 'identifier'], 'stocred_ui');
$table->addIndex(['user'], 'stocred_user');
}
return $schema; return $schema;
} }
@ -92,9 +94,9 @@ class Version20000Date20201109081918 extends SimpleMigrationStep {
$insert = $this->connection->getQueryBuilder(); $insert = $this->connection->getQueryBuilder();
$insert->insert('storages_credentials') $insert->insert('storages_credentials')
->setValue('user', $insert->createNamedParameter('user')) ->setValue('user', $insert->createParameter('user'))
->setValue('identifier', $insert->createNamedParameter('identifier')) ->setValue('identifier', $insert->createParameter('identifier'))
->setValue('credentials', $insert->createNamedParameter('credentials')); ->setValue('credentials', $insert->createParameter('credentials'));
$result = $query->execute(); $result = $query->execute();
while ($row = $result->fetch()) { while ($row = $result->fetch()) {