Import d'imports

Bonjour,

lors de la mise en place d’un environnement, un certain nombre de fichiers plus ou moins personnalisés doivent être importés : entités géographiques, années, séquences, etc…

Pour l’instant, je crée manuellement des entrées pour chaque fichier dans Config applicative / Maintenance applicative / Imports, et j’importe chaque fichier.

Je souhaiterais n’importer qu’un fichier, contenant des lignes d’import, et placer en une seule fois les fichiers concernés sur le serveur, avant de les intégrer.

J’ai essayé de reprendre une ligne commentée dans un fichier d’exemple, qui donne :

<?xml version="1.0" encoding="UTF-8"?>
<csv-inputs xmlns="http://axelor.com/xml/ns/data-import"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://axelor.com/xml/ns/data-import http://axelor.com/xml/ns/data-import/data-import_4.1.xsd">

	<input file="base_import_configuration.csv" separator=";" type="com.axelor.apps.base.db.ImportConfiguration"> 
		<bind to="user" search="self.code = 'admin' " update="true" />
	</input>

</csv-inputs> 

et le fichier base_import_configuration.csv correspondant. Cependant, mes tentatives d’import de ces deux fichiers échouent :

List of constraint violations:[
        ConstraintViolationImpl{interpolatedMessage='ne peut pas être nul', propertyPath=bindMetaFile, rootBeanClass=class com.axelor.apps.base.db.ImportConfiguration, messageTemplate='{javax.validation.constraints.NotNull.message}'}
        ConstraintViolationImpl{interpolatedMessage='ne peut pas être nul', propertyPath=dataMetaFile, rootBeanClass=class com.axelor.apps.base.db.ImportConfiguration, messageTemplate='{javax.validation.constraints.NotNull.message}'}
]

Ces champs sont pourtant présents dans mon csv :

name;typeSelect;bindMetaFile.fileName;dataMetaFile.fileName
Import pays;csv;import-config-country.xml;import-data-base-country.csv
Import régions;csv;import-config-region.xml;import-data-base-region.csv
Import départements;csv;import-config-departement.xml;import-data-base-departement.csv
Import cantons;csv;import-config-canton.xml;import-data-base-canton.csv
Import communes;csv;import-config-city.xml;import-data-base-city.csv

Ce que j’essaie de faire est-il possible, et si oui, où se situe mon erreur ?

Merci d’avance
Franck

EDIT: je me rends compte que les colonnes concernées sont des références à la table meta_file. Il faut donc probablement alimenter cette table auparavant…

Bonjour,
Le plus simple est de faire un seul import avec un fichier XML qui décrit tous les fichiers csv et un fichier zip qui contient tous les CSV à importer.
Cordialement

!!! je n’avais pas réalisé qu’on pouvait uploadé un zip ! Merci beaucoup !

Bonjour, faut-il écrire quelque part dans le fichier XML que les csv se trouvent dans un zip?
Je n’arrive à importer les fichiers de la démo que fichier par fichier, quand je place un zip ça n’importe rien. Comment as-tu fait?
Merci beaucoup

Bonjour,

a priori non, rien à faire de particulier quand c’est un zip. Si c’est la cas il le détecte tout seul…