Skip to content
Snippets Groups Projects
Commit fe9305e2 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

[FIX] Import : seules les données issues de la source concernée doivent être...

[FIX] Import : seules les données issues de la source concernée doivent être préalablement purgées, pas toute la table.
parent a8724003
No related branches found
No related tags found
No related merge requests found
Pipeline #13038 passed
Changelog Changelog
========= =========
5.1.1
-----
- [FIX] Import : seules les données issues de la source concernée doivent être préalablement purgées, pas toute la table.
5.1.0 5.1.0
----- -----
- Import : le SOURCE_ID peut être fourni dans les données à importer ou en dur dans la config via l'attribut 'code' de la 'source' ; - Import : le SOURCE_ID peut être fourni dans les données à importer ou en dur dans la config via l'attribut 'code' de la 'source' ;
......
...@@ -344,7 +344,18 @@ class DatabaseService ...@@ -344,7 +344,18 @@ class DatabaseService
*/ */
public function truncateDestinationTable() public function truncateDestinationTable()
{ {
// détermination de l'id de la source des données à insérer, pour n'effacer que les données de cette source
// (si aucune donnée à insérer, basta)
$data = $this->source->getData();
if (empty($data)) {
return;
}
$row1 = reset($data);
$preparedRow1 = $this->prepareSourceData($row1);
$sourceId = $preparedRow1['source_id'] ?? $preparedRow1['SOURCE_ID'];
$sql = $this->codeGenerator->generateSQLForClearTable($table = $this->destination->getTable()); $sql = $this->codeGenerator->generateSQLForClearTable($table = $this->destination->getTable());
$sql .= " WHERE source_id = (SELECT id FROM source WHERE code = '$sourceId')";
try { try {
$this->queryExecutor->exec($sql, $this->destination->getConnection()); $this->queryExecutor->exec($sql, $this->destination->getConnection());
} catch (Exception $e) { } catch (Exception $e) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment