C'est en même temps un refactor de l'import du stock et l'implémentation de l'import des "fichiers de stocks" dans les flux quotidiens. Ce que j'appelle "fichiers de stocks" (pas ouf comme nommage c'est pour ça que je précise) ce sont tous les fichiers qui ne sont pas des fichiers "évènements" :
fichiers de stocks : INSERT des données des données en base
fichiers évènements : UPDATE des données en base
Les fichiers de stocks sont traités différemment lors d'un import massif du stock en base et lors de l'intégration des flux quotidiens (bulk import VS intégration ligne par ligne).
Le mode d'import par batch a été refactor et l'import ligne par ligne a été ajouté.
J'ai aussi fait un peu de nettoyage : pas mal de suppression de "vieux" fichiers.
Comment faire la PR
Tout le mécanisme d'import s'articule autour du composant CSVReader (parsing des fichiers CSV, lecture des fichiers par batch et ligne par ligne). Il est ensuite utilisé dans toutes les opérations d'import (ex : app/concepts/data_source/file/pm/operation/import.rb). Le fonctionnement est le même pour tous les différents fichiers. Il y a beaucoup de changements mais aussi beaucoup de duplication.
Les opérations d'import lignes par lignes sont aussi straight-forward (ex : app/concepts/personne_morale/operation/create.rb)
Contenu de la PR
C'est en même temps un refactor de l'import du stock et l'implémentation de l'import des "fichiers de stocks" dans les flux quotidiens. Ce que j'appelle "fichiers de stocks" (pas ouf comme nommage c'est pour ça que je précise) ce sont tous les fichiers qui ne sont pas des fichiers "évènements" :
Les fichiers de stocks sont traités différemment lors d'un import massif du stock en base et lors de l'intégration des flux quotidiens (bulk import VS intégration ligne par ligne). Le mode d'import par batch a été refactor et l'import ligne par ligne a été ajouté.
J'ai aussi fait un peu de nettoyage : pas mal de suppression de "vieux" fichiers.
Comment faire la PR
Tout le mécanisme d'import s'articule autour du composant CSVReader (parsing des fichiers CSV, lecture des fichiers par batch et ligne par ligne). Il est ensuite utilisé dans toutes les opérations d'import (ex :
app/concepts/data_source/file/pm/operation/import.rb
). Le fonctionnement est le même pour tous les différents fichiers. Il y a beaucoup de changements mais aussi beaucoup de duplication.Les opérations d'import lignes par lignes sont aussi straight-forward (ex :
app/concepts/personne_morale/operation/create.rb
)