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'); } 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; } }