Skip to content

Commit

Permalink
Cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
Christopher Lorke committed Oct 14, 2018
1 parent bfd60d6 commit 60f5992
Show file tree
Hide file tree
Showing 22 changed files with 145 additions and 145 deletions.
2 changes: 2 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ php:
- 7.2

env:
global:
- "ELASTICSEARCH_PORT=9200"
matrix:
- "ES_VERSION=6.0.0 ES_DOWNLOAD_URL=https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.0.0.deb"
- "ES_VERSION=6.1.0 ES_DOWNLOAD_URL=https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.1.0.deb"
Expand Down
4 changes: 2 additions & 2 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ services:
environment:
- cluster.name=test-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- "ES_JAVA_OPTS=-Xms1024m -Xmx1024m"
ulimits:
memlock:
soft: -1
hard: -1
ports:
- 9200:9200
- 9222:9200

networks:
default:
Expand Down
1 change: 1 addition & 0 deletions src/Business/Repository/ElasticsearchMigrations.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ public function create(
string $index
): \Triadev\EsMigration\Models\Entity\ElasticsearchMigrations {
$dbMigration = new \Triadev\EsMigration\Models\Entity\ElasticsearchMigrations();

$dbMigration->migration_id = $migrationId;
$dbMigration->type = $type;
$dbMigration->index = $index;
Expand Down
1 change: 1 addition & 0 deletions src/Business/Repository/ElasticsearchMigrationsAlias.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ public function create(
array $removeIndices = []
): \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsAlias {
$dbMigration = new \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsAlias();

$dbMigration->migrations_id = $migrationsId;
$dbMigration->add = json_encode($add);
$dbMigration->remove = json_encode($remove);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ public function create(
?array $settings = null
): \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsCreateIndex {
$dbMigration = new \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsCreateIndex();

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

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ public function create(
array $options = []
): \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsDeleteByQuery {
$dbMigration = new \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsDeleteByQuery();

$dbMigration->migrations_id = $migrationsId;
$dbMigration->query = json_encode($query);
$dbMigration->type = $type;
Expand Down
1 change: 1 addition & 0 deletions src/Business/Repository/ElasticsearchMigrationsReindex.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ public function create(
array $dest = []
): \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsReindex {
$dbMigration = new \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsReindex();

$dbMigration->migrations_id = $migrationsId;
$dbMigration->dest_index = $destIndex;
$dbMigration->refresh_source_index = $refreshSourceIndex;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ public function create(
array $options = []
): \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsUpdateByQuery {
$dbMigration = new \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsUpdateByQuery();

$dbMigration->migrations_id = $migrationsId;
$dbMigration->query = json_encode($query);
$dbMigration->type = $type;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ public function create(
bool $closeIndex = false
): \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsUpdateIndex {
$dbMigration = new \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsUpdateIndex();

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

Expand Down
8 changes: 8 additions & 0 deletions src/Contract/ElasticsearchMigrationDatabaseContract.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,14 @@

interface ElasticsearchMigrationDatabaseContract
{
const MIGRATION_TYPE_CREATE_INDEX = 'createIndex';
const MIGRATION_TYPE_UPDATE_INDEX = 'updateIndex';
const MIGRATION_TYPE_DELETE_INDEX = 'deleteIndex';
const MIGRATION_TYPE_ALIAS = 'alias';
const MIGRATION_TYPE_DELETE_BY_QUERY = 'deleteByQuery';
const MIGRATION_TYPE_UPDATE_BY_QUERY = 'updateByQuery';
const MIGRATION_TYPE_REINDEX = 'reindex';

/**
* Create migration
*
Expand Down
2 changes: 1 addition & 1 deletion src/ElasticsearchMigration.php
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ private function buildElasticsearchClient() : Client
public function migrate(string $version, string $source = 'file')
{
$migration = $this->migrationRepository->find($version);
if ($migration && $migration->getAttribute('status') == 'done') {
if ($migration && $migration->status == 'done') {
throw new MigrationAlreadyDone();
}

Expand Down
109 changes: 72 additions & 37 deletions src/ElasticsearchMigrationDatabase.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,11 @@ class ElasticsearchMigrationDatabase implements ElasticsearchMigrationDatabaseCo
/** @var ElasticsearchMigrationsContract */
private $elasticsearchMigrationsRepository;

/**
* ElasticsearchMigrationDatabase constructor.
* @param ElasticsearchMigrationContract $elasticsearchMigrationRepository
* @param ElasticsearchMigrationsContract $elasticsearchMigrationsRepository
*/
public function __construct(
ElasticsearchMigrationContract $elasticsearchMigrationRepository,
ElasticsearchMigrationsContract $elasticsearchMigrationsRepository
Expand Down Expand Up @@ -61,32 +66,32 @@ public function addMigration(string $migration, string $type, string $index, arr

try {
$migrations = $this->elasticsearchMigrationsRepository->create(
$dbMigration->getAttribute('id'),
$dbMigration->id,
$type,
$index
);

$migrationsId = $migrations->getAttribute('id');
$migrationsId = $migrations->id;

switch ($type) {
case 'createIndex':
case self::MIGRATION_TYPE_CREATE_INDEX:
$this->createIndexMigration($migrationsId, $params);
break;
case 'updateIndex':
case self::MIGRATION_TYPE_UPDATE_INDEX:
$this->updateIndexMigration($migrationsId, $params);
break;
case 'deleteIndex':
case self::MIGRATION_TYPE_DELETE_INDEX:
break;
case 'alias':
case self::MIGRATION_TYPE_ALIAS:
$this->aliasMigration($migrationsId, $params);
break;
case 'deleteByQuery':
case self::MIGRATION_TYPE_DELETE_BY_QUERY:
$this->deleteByQueryMigration($migrationsId, $params);
break;
case 'updateByQuery':
case self::MIGRATION_TYPE_UPDATE_BY_QUERY:
$this->updateByQueryMigration($migrationsId, $params);
break;
case 'reindex':
case self::MIGRATION_TYPE_REINDEX:
$this->reindexMigration($migrationsId, $params);
break;
default:
Expand Down Expand Up @@ -116,24 +121,24 @@ public function getMigration(string $migration) : array
if ($migrationByType) {
$migrationByType = is_object($migrationByType) ? $migrationByType->first() : $migrationByType;

$index = $dbMigration->getAttribute('index');
$index = $dbMigration->index;

switch ($dbMigration->getAttribute('type')) {
case 'createIndex':
switch ($dbMigration->type) {
case self::MIGRATION_TYPE_CREATE_INDEX:
if ($migrationByType instanceof ElasticsearchMigrationsCreateIndex) {
$settings = $migrationByType->getAttribute('settings');
$settings = $migrationByType->settings;

$migrations[] = MigrationBuilder::createIndex(
$index,
json_decode($migrationByType->getAttribute('mappings'), true),
json_decode($migrationByType->mappings, true),
$settings != null ? json_decode($settings, true) : null
);
}
break;
case 'updateIndex':
case self::MIGRATION_TYPE_UPDATE_INDEX:
if ($migrationByType instanceof ElasticsearchMigrationsUpdateIndex) {
$mappings = $migrationByType->getAttribute('mappings');
$settings = $migrationByType->getAttribute('settings');
$mappings = $migrationByType->mappings;
$settings = $migrationByType->settings;

$migrations[] = MigrationBuilder::updateIndex(
$index,
Expand All @@ -143,14 +148,14 @@ public function getMigration(string $migration) : array
);
}
break;
case 'deleteIndex':
case self::MIGRATION_TYPE_DELETE_INDEX:
$migrations[] = MigrationBuilder::deleteIndex($index);
break;
case 'alias':
case self::MIGRATION_TYPE_ALIAS:
if ($migrationByType instanceof ElasticsearchMigrationsAlias) {
$add = $migrationByType->getAttribute('add');
$remove = $migrationByType->getAttribute('remove');
$removeIndices = $migrationByType->getAttribute('remove_indices');
$add = $migrationByType->add;
$remove = $migrationByType->remove;
$removeIndices = $migrationByType->remove_indices;

$migrations[] = MigrationBuilder::alias(
$index,
Expand All @@ -160,38 +165,38 @@ public function getMigration(string $migration) : array
);
}
break;
case 'deleteByQuery':
case self::MIGRATION_TYPE_DELETE_BY_QUERY:
if ($migrationByType instanceof ElasticsearchMigrationsDeleteByQuery) {
$migrations[] = MigrationBuilder::deleteByQuery(
$index,
json_decode($migrationByType->getAttribute('query'), true),
$migrationByType->getAttribute('type'),
json_decode($migrationByType->getAttribute('options'), true)
json_decode($migrationByType->query, true),
$migrationByType->type,
json_decode($migrationByType->options, true)
);
}
break;
case 'updateByQuery':
case self::MIGRATION_TYPE_UPDATE_BY_QUERY:
if ($migrationByType instanceof ElasticsearchMigrationsUpdateByQuery) {
$script = $migrationByType->getAttribute('script');
$script = $migrationByType->script;

$migrations[] = MigrationBuilder::updateByQuery(
$index,
json_decode($migrationByType->getAttribute('query'), true),
$migrationByType->getAttribute('type'),
json_decode($migrationByType->query, true),
$migrationByType->type,
$script != null ? json_decode($script, true) : null,
json_decode($migrationByType->getAttribute('options'), true)
json_decode($migrationByType->options, true)
);
}
break;
case 'reindex':
case self::MIGRATION_TYPE_REINDEX:
if ($migrationByType instanceof ElasticsearchMigrationsReindex) {
$migrations[] = MigrationBuilder::reindex(
$index,
$migrationByType->getAttribute('dest_index'),
(bool)$migrationByType->getAttribute('refresh_source_index'),
json_decode($migrationByType->getAttribute('global'), true),
json_decode($migrationByType->getAttribute('source'), true),
json_decode($migrationByType->getAttribute('dest'), true)
$migrationByType->dest_index,
(bool)$migrationByType->refresh_source_index,
json_decode($migrationByType->global, true),
json_decode($migrationByType->source, true),
json_decode($migrationByType->dest, true)
);
}
break;
Expand All @@ -205,6 +210,11 @@ public function getMigration(string $migration) : array
return $migrations;
}

/**
* @param int $migrationsId
* @param array $params
* @throws \Throwable
*/
private function createIndexMigration(int $migrationsId, array $params)
{
/** @var ElasticsearchMigrationsCreateIndexContract $repository */
Expand All @@ -217,6 +227,11 @@ private function createIndexMigration(int $migrationsId, array $params)
);
}

/**
* @param int $migrationsId
* @param array $params
* @throws \Throwable
*/
private function updateIndexMigration(int $migrationsId, array $params)
{
/** @var ElasticsearchMigrationsUpdateIndexContract $repository */
Expand All @@ -235,6 +250,11 @@ private function updateIndexMigration(int $migrationsId, array $params)
);
}

/**
* @param int $migrationsId
* @param array $params
* @throws \Throwable
*/
private function aliasMigration(int $migrationsId, array $params)
{
/** @var ElasticsearchMigrationsAliasContract $repository */
Expand All @@ -248,6 +268,11 @@ private function aliasMigration(int $migrationsId, array $params)
);
}

/**
* @param int $migrationsId
* @param array $params
* @throws \Throwable
*/
private function deleteByQueryMigration(int $migrationsId, array $params)
{
/** @var ElasticsearchMigrationsDeleteByQueryContract $repository */
Expand All @@ -261,6 +286,11 @@ private function deleteByQueryMigration(int $migrationsId, array $params)
);
}

/**
* @param int $migrationsId
* @param array $params
* @throws \Throwable
*/
private function updateByQueryMigration(int $migrationsId, array $params)
{
/** @var ElasticsearchMigrationsUpdateByQueryContract $repository */
Expand All @@ -275,6 +305,11 @@ private function updateByQueryMigration(int $migrationsId, array $params)
);
}

/**
* @param int $migrationsId
* @param array $params
* @throws \Throwable
*/
private function reindexMigration(int $migrationsId, array $params)
{
/** @var ElasticsearchMigrationsReindexContract $repository */
Expand Down
13 changes: 4 additions & 9 deletions src/Models/Entity/ElasticsearchMigration.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;

/**
* @property integer $id
* @property string $migration
*/
class ElasticsearchMigration extends Model
{
/**
Expand All @@ -13,15 +17,6 @@ class ElasticsearchMigration extends Model
*/
protected $table = 'triadev_elasticsearch_migration';

/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'migration'
];

/**
* Get migrations
*
Expand Down
14 changes: 4 additions & 10 deletions src/Models/Entity/ElasticsearchMigrationStatus.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@

use Illuminate\Database\Eloquent\Model;

/**
* @property string $migrations_id
* @property string $status
*/
class ElasticsearchMigrationStatus extends Model
{
/**
Expand All @@ -11,14 +15,4 @@ class ElasticsearchMigrationStatus extends Model
* @var string
*/
protected $table = 'triadev_elasticsearch_migration_status';

/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'migration',
'status'
];
}
Loading

0 comments on commit 60f5992

Please sign in to comment.