diff --git a/lib/Migration/Version100Date20230822153000.php b/lib/Migration/Version100Date20230822153000.php new file mode 100644 index 0000000..6e201ad --- /dev/null +++ b/lib/Migration/Version100Date20230822153000.php @@ -0,0 +1,101 @@ +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', [ + 'notnull' => true, + 'default' => 0, + ]); + + $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, + ]); + + $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 + ]); + + $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; + } +}