From 8a4302a8d9918abeb822b32b070cfb88b3fd4696 Mon Sep 17 00:00:00 2001 From: unitorzero <58211929+unitorzero@users.noreply.github.com> Date: Tue, 31 Mar 2020 17:41:24 +0700 Subject: [PATCH] Implementing feature 'Skip rebuild' (#1652) * Implementing feature "Skip rebuild". * fixes --- application/Espo/Core/Utils/Database/Orm/Converter.php | 2 ++ application/Espo/Core/Utils/Database/Schema/Converter.php | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/application/Espo/Core/Utils/Database/Orm/Converter.php b/application/Espo/Core/Utils/Database/Orm/Converter.php index f00861ef8e..626bb21aa1 100644 --- a/application/Espo/Core/Utils/Database/Orm/Converter.php +++ b/application/Espo/Core/Utils/Database/Orm/Converter.php @@ -172,6 +172,8 @@ class Converter continue; } + if ($entityMetadata['skipRebuild'] ?? false) $ormMetadata[$entityName]['skipRebuild'] = true; + $ormMetadata = Util::merge($ormMetadata, $this->convertEntity($entityName, $entityMetadata)); } diff --git a/application/Espo/Core/Utils/Database/Schema/Converter.php b/application/Espo/Core/Utils/Database/Schema/Converter.php index f0d9522da2..2890d4af5a 100644 --- a/application/Espo/Core/Utils/Database/Schema/Converter.php +++ b/application/Espo/Core/Utils/Database/Schema/Converter.php @@ -186,6 +186,8 @@ class Converter $tables = array(); foreach ($ormMeta as $entityName => $entityParams) { + if ($entityParams['skipRebuild'] ?? false) continue; + $tableName = Util::toUnderScore($entityName); if ($schema->hasTable($tableName)) { @@ -315,7 +317,7 @@ class Converter $table->addIndex(array($columnName), SchemaUtils::generateIndexName($columnName)); $uniqueIndex[] = $columnName; } - } + } //END: add midKeys to a schema //add additionalColumns