From 82dcef8879defcbd56eae46c1f3bfc081ebb2628 Mon Sep 17 00:00:00 2001 From: Leonard Smith Date: Thu, 6 May 2021 12:08:41 -0500 Subject: [PATCH] Wrap the import processed with a transaction --- app/Console/Commands/ImportLexicalEntries.php | 11 +++++++--- app/Console/Commands/ImportUlbXmlData.php | 20 ++++++++++--------- 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/app/Console/Commands/ImportLexicalEntries.php b/app/Console/Commands/ImportLexicalEntries.php index 856d0f3..9e954e1 100644 --- a/app/Console/Commands/ImportLexicalEntries.php +++ b/app/Console/Commands/ImportLexicalEntries.php @@ -39,9 +39,14 @@ class ImportLexicalEntries extends Command */ public function handle() { - DB::table('lexical_entries')->truncate(); + $this->info("Preparing to import lexical entries."); + DB::transaction(function() { + DB::table('lexical_entries')->truncate(); - $importHandler = new LexiconEntryImportHandler(); - $importHandler->run(); + $importHandler = new LexiconEntryImportHandler(); + $this->info("Import in progress."); + $importHandler->run(); + }); + $this->info("Import Complete."); } } diff --git a/app/Console/Commands/ImportUlbXmlData.php b/app/Console/Commands/ImportUlbXmlData.php index a0a1865..d0064ee 100644 --- a/app/Console/Commands/ImportUlbXmlData.php +++ b/app/Console/Commands/ImportUlbXmlData.php @@ -40,15 +40,17 @@ class ImportUlbXmlData extends Command public function handle() { $this->info('Clearing out existing NT data...'); - DB::statement("SET FOREIGN_KEY_CHECKS=0"); - DB::table('verses')->truncate(); - DB::table('chapters')->truncate(); - DB::table('books')->truncate(); - DB::table('words')->truncate(); - DB::statement("SET FOREIGN_KEY_CHECKS=1"); + DB::transaction(function() { + DB::statement("SET FOREIGN_KEY_CHECKS=0"); + DB::table('verses')->truncate(); + DB::table('chapters')->truncate(); + DB::table('books')->truncate(); + DB::table('words')->truncate(); + DB::statement("SET FOREIGN_KEY_CHECKS=1"); - $this->info('Importing fresh NT data...'); - $importHandler = new UlbXmlImportHandler($this->output); - $importHandler->run(); + $this->info('Importing fresh NT data...'); + $importHandler = new UlbXmlImportHandler($this->output); + $importHandler->run(); + }); } }