From 762add8e5c26f4c7acfc019765863698993aff5b Mon Sep 17 00:00:00 2001 From: Omair Saleh Date: Sun, 18 Dec 2022 15:14:36 +0800 Subject: [PATCH] fix log data for transactional tables --- app/Classes/General/Traits/LogData.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/app/Classes/General/Traits/LogData.php b/app/Classes/General/Traits/LogData.php index efee3915..de4b68fd 100644 --- a/app/Classes/General/Traits/LogData.php +++ b/app/Classes/General/Traits/LogData.php @@ -21,11 +21,22 @@ trait LogData $relationshipColumn = Str::singular($model->table).'_id'; $originalData = $model->getRawOriginal(); + $originalData[$relationshipColumn] = $originalData['id']; unset($originalData['id']); if (!Schema::hasTable($tableName)) { DB::statement('CREATE TABLE '.$tableName.' LIKE '.$model->table); + + $indexs = DB::select('SHOW INDEX FROM '.$tableName.';'); + + $removedIndexes = []; + foreach ($indexs as $index){ + if($index->Column_name === 'id' || in_array($index->Key_name, $removedIndexes)) continue; + DB::statement('ALTER TABLE '.$tableName.' drop index '.$index->Key_name); + $removedIndexes[] = $index->Key_name; + } + DB::statement('ALTER TABLE '.$tableName.' ADD COLUMN `'.$relationshipColumn.'` BIGINT NOT NULL AFTER `id`'); }