From 740ab644d3daff398d300d40a9030aad0cbecadf Mon Sep 17 00:00:00 2001
From: Bertrand Gauthier <bertrand.gauthier@unicaen.fr>
Date: Thu, 6 Dec 2018 09:49:10 +0100
Subject: [PATCH] =?UTF-8?q?Service=20de=20g=C3=A9n=C3=A9ration=20d'insert?=
 =?UTF-8?q?=20de=20donn=C3=A9es:=20exception=20si=20impossible=20d'ouvrir?=
 =?UTF-8?q?=20le=20fichier=20de=20sortie.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/UnicaenOracle/Service/DataService.php   | 3 +++
 src/UnicaenOracle/Service/SchemaService.php | 1 +
 2 files changed, 4 insertions(+)

diff --git a/src/UnicaenOracle/Service/DataService.php b/src/UnicaenOracle/Service/DataService.php
index 8a17d44..4fc4fdc 100644
--- a/src/UnicaenOracle/Service/DataService.php
+++ b/src/UnicaenOracle/Service/DataService.php
@@ -32,6 +32,9 @@ class DataService
         foreach ($preparedTablesMetadata as $tableName => $columnsConfig) {
             $outputFilePath = sprintf($outputFilePathTemplate, $tableName);
             $fh = fopen($outputFilePath, 'w');
+            if ($fh === false) {
+                throw new RuntimeException("Impossible d'ouvrir en écriture le fichier '$outputFilePath'.");
+            }
             fwrite($fh, "set define off ;" . PHP_EOL . PHP_EOL);
             $sqlSelect = "SELECT *  FROM $tableName";
             try {
diff --git a/src/UnicaenOracle/Service/SchemaService.php b/src/UnicaenOracle/Service/SchemaService.php
index eb2d3db..f41bfcb 100644
--- a/src/UnicaenOracle/Service/SchemaService.php
+++ b/src/UnicaenOracle/Service/SchemaService.php
@@ -59,6 +59,7 @@ class SchemaService
             throw new RuntimeException("Erreur!", null, $e);
         }
         $result = $stmt->fetchAll(\PDO::FETCH_COLUMN);
+        // NB: si le résultat est vide, c'est sans doute un problème de droit du USER Oracle utilisé pour exécuter les commandes
         $sql = implode('', $result);
         $sql = str_replace("\"$srcSchemaName\"", "\"$dstSchemaName\"", $sql);
         file_put_contents($outputFilePath, $sql);
-- 
GitLab