diff --git a/lib/Migration/Version100Date20230822153000.php b/lib/Migration/Version100Date20230822153000.php index 6e201ad..256d32c 100644 --- a/lib/Migration/Version100Date20230822153000.php +++ b/lib/Migration/Version100Date20230822153000.php @@ -9,93 +9,96 @@ class Version100Date20230822153000 extends SimpleMigrationStep { - const TASKS_TABLE = "groupfolder_snapshots_tasks"; - const RESULTS_TABLE = "groupfolder_snapshots_task_results"; + const TASKS_TABLE = "groupfolder_snapshots_tasks"; + const RESULTS_TABLE = "groupfolder_snapshots_task_results"; - /** - * @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) { - /** @var ISchemaWrapper $schema */ - $schema = $schemaClosure(); + /** + * @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) { + /** @var ISchemaWrapper $schema */ + $schema = $schemaClosure(); - if (!$schema->hasTable(self::TASKS_TABLE)) { - $table = $schema->createTable(self::TASKS_TABLE); - $table->addColumn('id', 'integer', [ - 'autoincrement' => true, - 'notnull' => true, - ]); - $table->addColumn('user_id', 'string', [ - 'notnull' => true, - 'length' => 200, - ]); - $table->addColumn('groupfolder_id', 'bigint', [ - 'notnull' => true, - ]); - $table->addColumn('snapshot_id', 'string', [ - 'notnull' => true, - ]); - - $table->addColumn('timestamp', 'integer', [ + if (!$schema->hasTable(self::TASKS_TABLE)) { + $table = $schema->createTable(self::TASKS_TABLE); + $table->addColumn('id', 'integer', [ + 'autoincrement' => true, + 'notnull' => true, + ]); + $table->addColumn('user_id', 'string', [ + 'notnull' => true, + 'length' => 200, + ]); + $table->addColumn('groupfolder_id', 'bigint', [ + 'notnull' => true, + ]); + $table->addColumn('relative_path', 'string', [ + 'notnull' => true, + ]); + $table->addColumn('snapshot_id', 'string', [ + 'notnull' => true, + ]); + + $table->addColumn('timestamp', 'integer', [ 'notnull' => true, 'default' => 0, ]); - $table->setPrimaryKey(['id']); - $table->addIndex(['user_id'], 'userid_index'); - $table->addIndex(['groupfolder_id'], 'groupfolderid_index'); - } + $table->setPrimaryKey(['id']); + $table->addIndex(['user_id'], 'userid_index'); + $table->addIndex(['groupfolder_id'], 'groupfolderid_index'); + } - if (!$schema->hasTable(self::RESULTS_TABLE)) { - $table = $schema->createTable(self::RESULTS_TABLE); - $table->addColumn('id', 'integer', [ - 'autoincrement' => true, - 'notnull' => true, - ]); - $table->addColumn('task_id', 'integer', [ - 'notnull' => true, - ]); + if (!$schema->hasTable(self::RESULTS_TABLE)) { + $table = $schema->createTable(self::RESULTS_TABLE); + $table->addColumn('id', 'integer', [ + 'autoincrement' => true, + 'notnull' => true, + ]); + $table->addColumn('task_id', 'integer', [ + 'notnull' => true, + ]); - $table->addColumn('type', 'string', [ - 'notnull' => true, - ]); + $table->addColumn('type', 'string', [ + 'notnull' => true, + ]); - // Before - $table->addColumn('before_file_exists', 'boolean', [ - 'notnull' => true, - ]); - $table->addColumn('before_path', 'string', [ - 'notnull' => false, - 'default' => '', - 'length' => 200, - ]); - $table->addColumn('before_size', 'integer', [ - 'notnull' => false, - 'default' => 0 - ]); - - // Current - $table->addColumn('current_file_exists', 'boolean', [ - 'notnull' => false, - ]); - $table->addColumn('current_path', 'string', [ - 'notnull' => false, - 'default' => '', - 'length' => 200, - ]); - $table->addColumn('current_size', 'integer', [ - 'notnull' => false, - 'default' => 0 - ]); + // Before + $table->addColumn('before_file_exists', 'boolean', [ + 'notnull' => true, + ]); + $table->addColumn('before_path', 'string', [ + 'notnull' => false, + 'default' => '', + 'length' => 200, + ]); + $table->addColumn('before_size', 'integer', [ + 'notnull' => false, + 'default' => 0 + ]); + + // Current + $table->addColumn('current_file_exists', 'boolean', [ + 'notnull' => false, + ]); + $table->addColumn('current_path', 'string', [ + 'notnull' => false, + 'default' => '', + 'length' => 200, + ]); + $table->addColumn('current_size', 'integer', [ + 'notnull' => false, + 'default' => 0 + ]); - $table->setPrimaryKey(['id']); - $table->addIndex(['task_id'], 'taskid_index'); - $table->addForeignKeyConstraint($schema->getTable(self::TASKS_TABLE), ['task_id'], ['id'], ['onDelete' => 'CASCADE'], 'results_taskid_fk'); - } + $table->setPrimaryKey(['id']); + $table->addIndex(['task_id'], 'taskid_index'); + $table->addForeignKeyConstraint($schema->getTable(self::TASKS_TABLE), ['task_id'], ['id'], ['onDelete' => 'CASCADE'], 'results_taskid_fk'); + } - return $schema; - } + return $schema; + } }