Skip to content

Commit

Permalink
Added status to migration steps.
Browse files Browse the repository at this point in the history
  • Loading branch information
Christopher Lorke committed Oct 14, 2018
1 parent 7781bf2 commit 21f796b
Show file tree
Hide file tree
Showing 44 changed files with 514 additions and 389 deletions.
74 changes: 74 additions & 0 deletions src/Business/Repository/ElasticsearchMigrationStep.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
<?php
namespace Triadev\EsMigration\Business\Repository;

use Triadev\EsMigration\Contract\Repository\ElasticsearchMigrationStepContract;
use Triadev\EsMigration\Exception\MigrationsNotExist;

class ElasticsearchMigrationStep implements ElasticsearchMigrationStepContract
{
/**
* @inheritdoc
*/
public function create(
int $migrationId,
string $type,
string $index
): \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStep {
$dbMigration = new \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStep();

$dbMigration->migration_id = $migrationId;
$dbMigration->type = $type;
$dbMigration->index = $index;
$dbMigration->status = self::ELASTICSEARCH_MIGRATION_STEP_STATUS_WAIT;

$dbMigration->saveOrFail();

return $dbMigration;
}

/**
* @inheritdoc
*/
public function update(
int $migrationsId,
int $status
): \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStep {
$entity = $this->find($migrationsId);
if (!$entity) {
throw new MigrationsNotExist();
}

if ($this->isStatusValid($status)) {
$entity->status = $status;
}

$entity->saveOrFail();

return $entity;
}

/**
* @inheritdoc
*/
public function find(int $migrationsId): ?\Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStep
{
return \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStep::where('id', $migrationsId)
->first();
}

private function isStatusValid(int $status) : bool
{
$valid = [
self::ELASTICSEARCH_MIGRATION_STEP_STATUS_WAIT,
self::ELASTICSEARCH_MIGRATION_STEP_STATUS_RUNNING,
self::ELASTICSEARCH_MIGRATION_STEP_STATUS_DONE,
self::ELASTICSEARCH_MIGRATION_STEP_STATUS_ERROR
];

if (in_array($status, $valid)) {
return true;
}

return false;
}
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<?php
namespace Triadev\EsMigration\Business\Repository;

use Triadev\EsMigration\Contract\Repository\ElasticsearchMigrationsAliasContract;
use Triadev\EsMigration\Contract\Repository\ElasticsearchMigrationStepAliasContract;

class ElasticsearchMigrationsAlias implements ElasticsearchMigrationsAliasContract
class ElasticsearchMigrationStepAlias implements ElasticsearchMigrationStepAliasContract
{
/**
* @inheritdoc
Expand All @@ -13,10 +13,10 @@ public function create(
array $add = [],
array $remove = [],
array $removeIndices = []
): \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsAlias {
$dbMigration = new \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsAlias();
): \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStepAlias {
$dbMigration = new \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStepAlias();

$dbMigration->migrations_id = $migrationsId;
$dbMigration->migration_step_id = $migrationsId;
$dbMigration->add = json_encode($add);
$dbMigration->remove = json_encode($remove);
$dbMigration->remove_indices = json_encode($removeIndices);
Expand All @@ -29,10 +29,10 @@ public function create(
/**
* @inheritdoc
*/
public function find(int $migrationsId): ?\Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsAlias
public function find(int $migrationsId): ?\Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStepAlias
{
return \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsAlias::where(
'migrations_id',
return \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStepAlias::where(
'migration_step_id',
$migrationsId
)->first();
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<?php
namespace Triadev\EsMigration\Business\Repository;

use Triadev\EsMigration\Contract\Repository\ElasticsearchMigrationsCreateIndexContract;
use Triadev\EsMigration\Contract\Repository\ElasticsearchMigrationStepCreateIndexContract;

class ElasticsearchMigrationsCreateIndex implements ElasticsearchMigrationsCreateIndexContract
class ElasticsearchMigrationStepCreateIndex implements ElasticsearchMigrationStepCreateIndexContract
{
/**
* @inheritdoc
Expand All @@ -12,10 +12,10 @@ public function create(
int $migrationsId,
array $mappings,
?array $settings = null
): \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsCreateIndex {
$dbMigration = new \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsCreateIndex();
): \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStepCreateIndex {
$dbMigration = new \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStepCreateIndex();

$dbMigration->migrations_id = $migrationsId;
$dbMigration->migration_step_id = $migrationsId;
$dbMigration->mappings = json_encode($mappings);

if (is_array($settings)) {
Expand All @@ -30,10 +30,10 @@ public function create(
/**
* @inheritdoc
*/
public function find(int $migrationsId): ?\Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsCreateIndex
public function find(int $migrationsId): ?\Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStepCreateIndex
{
return \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsCreateIndex::where(
'migrations_id',
return \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStepCreateIndex::where(
'migration_step_id',
$migrationsId
)->first();
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<?php
namespace Triadev\EsMigration\Business\Repository;

use Triadev\EsMigration\Contract\Repository\ElasticsearchMigrationsDeleteByQueryContract;
use Triadev\EsMigration\Contract\Repository\ElasticsearchMigrationStepDeleteByQueryContract;

class ElasticsearchMigrationsDeleteByQuery implements ElasticsearchMigrationsDeleteByQueryContract
class ElasticsearchMigrationStepDeleteByQuery implements ElasticsearchMigrationStepDeleteByQueryContract
{
/**
* @inheritdoc
Expand All @@ -13,10 +13,10 @@ public function create(
array $query,
?string $type = null,
array $options = []
): \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsDeleteByQuery {
$dbMigration = new \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsDeleteByQuery();
): \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStepDeleteByQuery {
$dbMigration = new \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStepDeleteByQuery();

$dbMigration->migrations_id = $migrationsId;
$dbMigration->migration_step_id = $migrationsId;
$dbMigration->query = json_encode($query);
$dbMigration->type = $type;
$dbMigration->options = json_encode($options);
Expand All @@ -29,10 +29,11 @@ public function create(
/**
* @inheritdoc
*/
public function find(int $migrationsId): ?\Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsDeleteByQuery
{
return \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsDeleteByQuery::where(
'migrations_id',
public function find(
int $migrationsId
): ?\Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStepDeleteByQuery {
return \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStepDeleteByQuery::where(
'migration_step_id',
$migrationsId
)->first();
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<?php
namespace Triadev\EsMigration\Business\Repository;

use Triadev\EsMigration\Contract\Repository\ElasticsearchMigrationsReindexContract;
use Triadev\EsMigration\Contract\Repository\ElasticsearchMigrationStepReindexContract;

class ElasticsearchMigrationsReindex implements ElasticsearchMigrationsReindexContract
class ElasticsearchMigrationStepReindex implements ElasticsearchMigrationStepReindexContract
{
/**
* @inheritdoc
Expand All @@ -15,10 +15,10 @@ public function create(
array $global = [],
array $source = [],
array $dest = []
): \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsReindex {
$dbMigration = new \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsReindex();
): \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStepReindex {
$dbMigration = new \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStepReindex();

$dbMigration->migrations_id = $migrationsId;
$dbMigration->migration_step_id = $migrationsId;
$dbMigration->dest_index = $destIndex;
$dbMigration->refresh_source_index = $refreshSourceIndex;
$dbMigration->global = json_encode($global);
Expand All @@ -33,10 +33,10 @@ public function create(
/**
* @inheritdoc
*/
public function find(int $migrationsId): ?\Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsReindex
public function find(int $migrationsId): ?\Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStepReindex
{
return \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsReindex::where(
'migrations_id',
return \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStepReindex::where(
'migration_step_id',
$migrationsId
)->first();
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<?php
namespace Triadev\EsMigration\Business\Repository;

use Triadev\EsMigration\Contract\Repository\ElasticsearchMigrationsUpdateByQueryContract;
use Triadev\EsMigration\Contract\Repository\ElasticsearchMigrationStepUpdateByQueryContract;

class ElasticsearchMigrationsUpdateByQuery implements ElasticsearchMigrationsUpdateByQueryContract
class ElasticsearchMigrationStepUpdateByQuery implements ElasticsearchMigrationStepUpdateByQueryContract
{
/**
* @inheritdoc
Expand All @@ -14,10 +14,10 @@ public function create(
?string $type = null,
?array $script = null,
array $options = []
): \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsUpdateByQuery {
$dbMigration = new \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsUpdateByQuery();
): \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStepUpdateByQuery {
$dbMigration = new \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStepUpdateByQuery();

$dbMigration->migrations_id = $migrationsId;
$dbMigration->migration_step_id = $migrationsId;
$dbMigration->query = json_encode($query);
$dbMigration->type = $type;
$dbMigration->script = is_array($script) ? json_encode($script): null;
Expand All @@ -31,10 +31,10 @@ public function create(
/**
* F@inheritdoc
*/
public function find(int $migrationsId): ?\Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsUpdateByQuery
public function find(int $migrationsId): ?\Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStepUpdateByQuery
{
return \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsUpdateByQuery::where(
'migrations_id',
return \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStepUpdateByQuery::where(
'migration_step_id',
$migrationsId
)->first();
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<?php
namespace Triadev\EsMigration\Business\Repository;

use Triadev\EsMigration\Contract\Repository\ElasticsearchMigrationsUpdateIndexContract;
use Triadev\EsMigration\Contract\Repository\ElasticsearchMigrationStepUpdateIndexContract;

class ElasticsearchMigrationsUpdateIndex implements ElasticsearchMigrationsUpdateIndexContract
class ElasticsearchMigrationStepUpdateIndex implements ElasticsearchMigrationStepUpdateIndexContract
{
/**
* @inheritdoc
Expand All @@ -13,10 +13,10 @@ public function create(
?array $mappings = null,
?array $settings = null,
bool $closeIndex = false
): \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsUpdateIndex {
$dbMigration = new \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsUpdateIndex();
): \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStepUpdateIndex {
$dbMigration = new \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStepUpdateIndex();

$dbMigration->migrations_id = $migrationsId;
$dbMigration->migration_step_id = $migrationsId;
$dbMigration->close_index = $closeIndex;

if (is_array($mappings)) {
Expand All @@ -35,10 +35,10 @@ public function create(
/**
* @inheritdoc
*/
public function find(int $migrationsId): ?\Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsUpdateIndex
public function find(int $migrationsId): ?\Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStepUpdateIndex
{
return \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsUpdateIndex::where(
'migrations_id',
return \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStepUpdateIndex::where(
'migration_step_id',
$migrationsId
)->first();
}
Expand Down
35 changes: 0 additions & 35 deletions src/Business/Repository/ElasticsearchMigrations.php

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<?php
namespace Triadev\EsMigration\Contract\Repository;

use Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsAlias;
use Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStepAlias;

interface ElasticsearchMigrationsAliasContract
interface ElasticsearchMigrationStepAliasContract
{
/**
* Create
Expand All @@ -12,7 +12,7 @@ interface ElasticsearchMigrationsAliasContract
* @param array $add
* @param array $remove
* @param array $removeIndices
* @return ElasticsearchMigrationsAlias
* @return ElasticsearchMigrationStepAlias
*
* @throws \Throwable
*/
Expand All @@ -21,13 +21,13 @@ public function create(
array $add = [],
array $remove = [],
array $removeIndices = []
) : ElasticsearchMigrationsAlias;
) : ElasticsearchMigrationStepAlias;

/**
* Find
*
* @param int $migrationsId
* @return null|ElasticsearchMigrationsAlias
* @return null|ElasticsearchMigrationStepAlias
*/
public function find(int $migrationsId) : ?ElasticsearchMigrationsAlias;
public function find(int $migrationsId) : ?ElasticsearchMigrationStepAlias;
}
Loading

0 comments on commit 21f796b

Please sign in to comment.