more migrations

This commit is contained in:
Dario Rekowski on RockPI 2021-05-10 15:37:39 +00:00
parent d9d78d1539
commit a22593925a
4 changed files with 100 additions and 3 deletions

View File

@ -0,0 +1,2 @@
INSERT INTO `migrations` (`id`, `db_version`) VALUES
(1, 2);

View File

@ -41,7 +41,9 @@ class MigrationsController extends AppController
$startTime = microtime(true);
$stateUserTransactionsTable = TableRegistry::getTableLocator()->get('StateUserTransactions');
$transactionsTable = TableRegistry::getTableLocator()->get('Transactions');
$transactionTypesTable = TableRegistry::getTableLocator()->get('TransactionTypes');
$stateBalancesTable = TableRegistry::getTableLocator()->get('StateBalances');
$blockchainTypesTable = TableRegistry::getTableLocator()->get('BlockchainTypes');
$new_db_version = 1;
@ -51,7 +53,9 @@ class MigrationsController extends AppController
$stateUserTransactionsTable->truncate();
$commands = [
[$transactionsTable, 'fillStateUserTransactions'],
[$stateBalancesTable, 'updateAllBalances']
[$stateBalancesTable, 'updateAllBalances'],
[$blockchainTypesTable, 'fillWithDefault'],
[$transactionTypesTable, 'fillWithDefault']
];
$new_db_version = 2;
}

View File

@ -18,7 +18,7 @@ use Cake\Validation\Validator;
* @method \App\Model\Entity\BlockchainType[] patchEntities($entities, array $data, array $options = [])
* @method \App\Model\Entity\BlockchainType findOrCreate($search, callable $callback = null, $options = [])
*/
class BlockchainTypesTable extends Table
class BlockchainTypesTable extends AppTable
{
/**
* Initialize method
@ -65,4 +65,37 @@ class BlockchainTypesTable extends Table
return $validator;
}
public function fillWithDefault()
{
$entry_contents = [
[
'id' => 1,
'name' => 'mysql',
'text' => 'use mysql db as blockchain, work only with single community-server',
'symbol' => NULL
],
[
'id' => 2,
'name' => 'hedera',
'text' => 'use hedera for transactions',
'symbol' => 'HBAR'
]
];
$entities = $this->newEntities($entry_contents);
$this->truncate();
$save_results = $this->saveMany($entities);
$errors = [];
foreach($save_results as $i => $result)
{
if(!$result) {
$errors[] = $entities[$i]->getErrors();
}
}
if(count($errors) > 0) {
return ['success' => false, 'msg' => 'error by saving blockchain types', 'errors' => $errors];
}
return ['success' => true];
}
}

View File

@ -20,7 +20,7 @@ use Cake\Validation\Validator;
* @method \App\Model\Entity\TransactionType[] patchEntities($entities, array $data, array $options = [])
* @method \App\Model\Entity\TransactionType findOrCreate($search, callable $callback = null, $options = [])
*/
class TransactionTypesTable extends Table
class TransactionTypesTable extends AppTable
{
/**
* Initialize method
@ -66,4 +66,62 @@ class TransactionTypesTable extends Table
return $validator;
}
public function fillWithDefault()
{
$entry_contents = [
[
'id' => 1,
'name' => 'creation',
'text' => 'create new gradidos for member and also for group (in development)',
], [
'id' => 2,
'name' => 'transfer',
'text' => 'send gradidos from one member to another, also cross group transfer',
], [
'id' => 3,
'name' => 'group create',
'text' => 'create a new group, trigger creation of new hedera topic and new blockchain on node server'
], [
'id' => 4,
'name' => 'group add member',
'text' => 'add user to a group or move if he was already in a group'
], [
'id' => 5,
'name' => 'group remove member',
'text' => 'remove user from group, maybe he was moved elsewhere'
],[
'id' => 6,
'name' => 'hedera topic create',
'text' => 'create new topic on hedera'
],[
'id' => 7,
'name' => 'hedera topic send message',
'text' => 'send consensus message over hedera topic'
],[
'id' => 8,
'name' => 'hedera account create',
'text' => 'create new account on hedera for holding some founds with unencrypted keys'
],[
'id' => 9,
'name' => 'decay start',
'text' => 'signalize the starting point for decay calculation, allowed only once per chain'
]
];
$entities = $this->newEntities($entry_contents);
$this->truncate();
$save_results = $this->saveMany($entities);
$errors = [];
foreach($save_results as $i => $result)
{
if(!$result) {
$errors[] = $entities[$i]->getErrors();
}
}
if(count($errors) > 0) {
return ['success' => false, 'msg' => 'error by saving transaction types', 'errors' => $errors];
}
return ['success' => true];
}
}