Multi datasources

4.0
Tags: #<Tag:0x00007fc9f78dc520>
Multi datasources
0

#21

je ne suis pas dans la même configuration que toi :

la table sur la base externe a un id que je référence dans Nom logique Attribut identifiant et dans les options je suis en Timestamp = Non


(David AZOULAY) #22

OK je vais tester avec un row ID specifique et en retirant le timestamping et je te tiens au courant

Par contre, de manière plus générale, je ne sais pas si c’est ce que tu fais mais le initCreate n’est clairement pas du tout le bon endroit pour appeler un getNextIdForColumn => il faut faire ça dans le preCreate (et mettre une valeur par défaut générique sur le champ pour passer le validate). En effet mettre ce genre de traitement dans le initCreate induira nécessairement des conflits entre sessions.


(David AZOULAY) #23

Ok effectivement dans ce cas particulier le initCreate n’est visiblement pas appelé. Je vais investiguer.

Mais indépendamment de ce pb d’appel du initCreate, tu verras, j’ai mis en place l’appel du getNextIdForColumn dans le preCreate (avec 0 en valeur par défaut du champ row ID custom). Pour moi c’est comme ça qu’il faut faire pour “imiter” la logique d’incrément du row ID standard dans ca cas.


(David AZOULAY) #24

L’appel du initCreate est réglé dans ce cas particulier (mais pas encore poussé sur la branche release, uniquement sur la branche master pour le moment)


#25

ok utiliser le hook preCreate, qui n’est pas non plus exécuté dans la version actuelle.

peux-tu me dire quand la correction que tu as apporté sera poussée sur la branche release ?


(Sébastien Hardy) #26

Bonjour,

Est ce que cela fonctionne sur la version 3.0 ?

Sébastien


#27

je n’ai jamais testé la création sur une base distante en V3.0


#28

Bonjour David,
peux-tu me dire quand la correction que tu as apporté sera poussée sur la branche release ?


(David AZOULAY) #29

La branche “master” contient actuellement de trop nombreuses évolutions en cours pour être poussée sur la branche “release”. On ne prévoit pas de pousser “master” sur “release” avant la fin de la semaine voire la fin semaine prochaine en fonction de l’avancée des travaux en cours.

En attendant, si ce point te bloque absolument, rien ne t’empêche de mettre à jour ton instance sur la branche “master”. Mais je reste dubitatif sur le fond car, de ce que je comprends, le calcul d’un identifiant unique n’a absolument rien à faire dans un initCreate (cf. mes posts précédents).


#30

le fond n’est pas le problème. j’utiliserai le preCreate.
le problème c’est que les hooks preCreate et initCreate ne sont pas exécutés avec ma connexion distante.


(David AZOULAY) #31

Le code qu’on met dans un preCreate peut temporairement se mettre dans le postValidate sous condition de tester qu’on est en création.


#32

effectivement, mais comme le create n’est pas exécuté, ça ne sert pas à grand chose.

j’ai pu tester sur notre sim de test, qui est sur la branche master.
les corrections apportées fonctionnent : j’ai pu créer une ligne dans mon objet connecté sur base distante.


(David AZOULAY) #33

OK tant mieux
On va sans doute pousser sur la branche “release” demain soir.


(David AZOULAY) #34

La branche “master” a été poussée sur la branche “release”