Browse Source
Change database structure
Change database structure
Signed-off-by: Joas Schilling <coding@schilljs.com>pull/6663/head
No known key found for this signature in database
GPG Key ID: 7076EA9751AACDDA
6 changed files with 86 additions and 23 deletions
-
2appinfo/info.xml
-
6lib/Federation/FederationManager.php
-
31lib/Manager.php
-
47lib/Migration/Version14000Date20211203132513.php
-
3lib/Model/SelectHelper.php
-
20lib/Room.php
@ -0,0 +1,47 @@ |
|||
<?php |
|||
|
|||
declare(strict_types=1); |
|||
|
|||
namespace OCA\Talk\Migration; |
|||
|
|||
use Closure; |
|||
use Doctrine\DBAL\Types\Types; |
|||
use OCP\DB\ISchemaWrapper; |
|||
use OCP\Migration\IOutput; |
|||
use OCP\Migration\SimpleMigrationStep; |
|||
|
|||
class Version14000Date20211203132513 extends SimpleMigrationStep { |
|||
/** |
|||
* @param IOutput $output |
|||
* @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper` |
|||
* @param array $options |
|||
* @return null|ISchemaWrapper |
|||
*/ |
|||
public function changeSchema(IOutput $output, Closure $schemaClosure, array $options): ?ISchemaWrapper { |
|||
/** @var ISchemaWrapper $schema */ |
|||
$schema = $schemaClosure(); |
|||
|
|||
$table = $schema->getTable('talk_rooms'); |
|||
if (!$table->hasColumn('remote_server')) { |
|||
$table->addColumn('remote_server', Types::STRING, [ |
|||
'notnull' => false, |
|||
'length' => 512, |
|||
'default' => null, |
|||
]); |
|||
$table->addColumn('remote_token', Types::STRING, [ |
|||
'notnull' => false, |
|||
'length' => 32, |
|||
'default' => null, |
|||
]); |
|||
|
|||
// Can not be unique as we have null, null for all local rooms.
|
|||
$table->addIndex(['remote_server', 'remote_token'], 'remote_id'); |
|||
} |
|||
|
|||
if ($table->hasColumn('server_url')) { |
|||
$table->dropColumn('server_url'); |
|||
} |
|||
|
|||
return $schema; |
|||
} |
|||
} |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue