Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>pull/16682/head
parent
445d6eb839
commit
9a6f7cc8cb
@ -1,90 +0,0 @@ |
||||
<?xml version="1.0" encoding="ISO-8859-1" ?> |
||||
<database> |
||||
<name>*dbname*</name> |
||||
<create>true</create> |
||||
<overwrite>false</overwrite> |
||||
<charset>utf8</charset> |
||||
|
||||
<table> |
||||
<name>*dbprefix*flow_checks</name> |
||||
<declaration> |
||||
<field> |
||||
<name>id</name> |
||||
<type>integer</type> |
||||
<default>0</default> |
||||
<notnull>true</notnull> |
||||
<autoincrement>1</autoincrement> |
||||
<length>4</length> |
||||
</field> |
||||
|
||||
<field> |
||||
<name>class</name> |
||||
<type>text</type> |
||||
<notnull>true</notnull> |
||||
<length>256</length> |
||||
</field> |
||||
<field> |
||||
<name>operator</name> |
||||
<type>text</type> |
||||
<notnull>true</notnull> |
||||
<length>16</length> |
||||
</field> |
||||
<field> |
||||
<name>value</name> |
||||
<type>clob</type> |
||||
<notnull>false</notnull> |
||||
</field> |
||||
<field> |
||||
<name>hash</name> |
||||
<type>text</type> |
||||
<notnull>true</notnull> |
||||
<length>32</length> |
||||
</field> |
||||
|
||||
<index> |
||||
<name>flow_unique_hash</name> |
||||
<unique>true</unique> |
||||
<field> |
||||
<name>hash</name> |
||||
</field> |
||||
</index> |
||||
</declaration> |
||||
</table> |
||||
|
||||
<table> |
||||
<name>*dbprefix*flow_operations</name> |
||||
<declaration> |
||||
<field> |
||||
<name>id</name> |
||||
<type>integer</type> |
||||
<default>0</default> |
||||
<notnull>true</notnull> |
||||
<autoincrement>1</autoincrement> |
||||
<length>4</length> |
||||
</field> |
||||
|
||||
<field> |
||||
<name>class</name> |
||||
<type>text</type> |
||||
<notnull>true</notnull> |
||||
<length>256</length> |
||||
</field> |
||||
<field> |
||||
<name>name</name> |
||||
<type>text</type> |
||||
<notnull>true</notnull> |
||||
<length>256</length> |
||||
</field> |
||||
<field> |
||||
<name>checks</name> |
||||
<type>clob</type> |
||||
<notnull>false</notnull> |
||||
</field> |
||||
<field> |
||||
<name>operation</name> |
||||
<type>clob</type> |
||||
<notnull>false</notnull> |
||||
</field> |
||||
</declaration> |
||||
</table> |
||||
</database> |
||||
@ -0,0 +1,100 @@ |
||||
<?php |
||||
|
||||
declare(strict_types=1); |
||||
|
||||
namespace OCA\WorkflowEngine\Migration; |
||||
|
||||
use Closure; |
||||
use Doctrine\DBAL\Types\Type; |
||||
use OCP\DB\ISchemaWrapper; |
||||
use OCP\Migration\SimpleMigrationStep; |
||||
use OCP\Migration\IOutput; |
||||
|
||||
class Version2019Date20190808074233 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) { |
||||
/** @var ISchemaWrapper $schema */ |
||||
$schema = $schemaClosure(); |
||||
|
||||
if (!$schema->hasTable('flow_checks')) { |
||||
$table = $schema->createTable('flow_checks'); |
||||
$table->addColumn('id', Type::INTEGER, [ |
||||
'autoincrement' => true, |
||||
'notnull' => true, |
||||
'length' => 4, |
||||
]); |
||||
$table->addColumn('class', Type::STRING, [ |
||||
'notnull' => true, |
||||
'length' => 256, |
||||
]); |
||||
$table->addColumn('operator', Type::STRING, [ |
||||
'notnull' => true, |
||||
'length' => 16, |
||||
]); |
||||
$table->addColumn('value', Type::TEXT, [ |
||||
'notnull' => false, |
||||
]); |
||||
$table->addColumn('hash', Type::STRING, [ |
||||
'notnull' => true, |
||||
'length' => 32, |
||||
]); |
||||
$table->setPrimaryKey(['id']); |
||||
$table->addUniqueIndex(['hash'], 'flow_unique_hash'); |
||||
} |
||||
|
||||
if (!$schema->hasTable('flow_operations')) { |
||||
$table = $schema->createTable('flow_operations'); |
||||
$table->addColumn('id', Type::INTEGER, [ |
||||
'autoincrement' => true, |
||||
'notnull' => true, |
||||
'length' => 4, |
||||
]); |
||||
$table->addColumn('class', Type::STRING, [ |
||||
'notnull' => true, |
||||
'length' => 256, |
||||
]); |
||||
$table->addColumn('name', Type::STRING, [ |
||||
'notnull' => true, |
||||
'length' => 256, |
||||
]); |
||||
$table->addColumn('checks', Type::TEXT, [ |
||||
'notnull' => false, |
||||
]); |
||||
$table->addColumn('operation', Type::TEXT, [ |
||||
'notnull' => false, |
||||
]); |
||||
$table->setPrimaryKey(['id']); |
||||
} |
||||
|
||||
if (!$schema->hasTable('flow_operations_scope')) { |
||||
$table = $schema->createTable('flow_operations_scope'); |
||||
$table->addColumn('id', Type::BIGINT, [ |
||||
'autoincrement' => true, |
||||
'notnull' => true, |
||||
'length' => 4, |
||||
]); |
||||
$table->addColumn('operation_id', Type::INTEGER, [ |
||||
'notnull' => true, |
||||
'length' => 4, |
||||
]); |
||||
$table->addColumn('type', Type::INTEGER, [ |
||||
'notnull' => true, |
||||
'length' => 4, |
||||
]); |
||||
$table->addColumn('value', Type::STRING, [ |
||||
'notnull' => false, |
||||
'length' => 64, |
||||
]); |
||||
$table->setPrimaryKey(['id']); |
||||
$table->addUniqueIndex(['operation_id', 'type', 'value'], 'flow_unique_scope'); |
||||
} |
||||
|
||||
return $schema; |
||||
} |
||||
} |
||||
Loading…
Reference in new issue