[Ciotoflow] pySyncDB contro le chiavi primarie composite

Poista viesti

Vastaa
Lähettäjä: Giuseppe De Marco
Päiväys:  
Vastaanottaja: ciotoniflow, hacklab, verdebinario ciotoni
Aihe: [Ciotoflow] pySyncDB contro le chiavi primarie composite
ciao a tutti, acari, picari e via dicendo,

desidero dirvi che ho pubblicato su github un piccolo programma 

https://github.com/peppelinux/pyDBsync


Questo altro non è che una comoda scorciatoia, interamente ad oggetti (3 classi, niente di chè)
che, grazie ad SQLAlchemy e SQLautocode, ci consente di syncronizzare databases diversi purchè abbiano lo stesso schema di tabelle.

come sappiamo SQLAlchemy supporta diversi DB (http://docs.sqlalchemy.org/en/latest/core/engines.html)

Sebbene esistano diversi tool (a pagamento) che svolgono questo sporco compito
ho deciso di scriverlo ex-novo inquanto in una precedente esperienza lavorativa mi sono trovato a 
sincronizzare verso un host remoto in produzione soltanto alcune tabelle e non tutto il database ( metti caso un sito on-line non può sovrascrivere alcune tabelle provenienti da una fonte off-line di test )

l'innovazione rispetto a tanti suoi colleghi è che pySyncDB supporta le chiavi primarie composite, ovvero
il male.

Purtroppo sappiamo che il male non si sradica facilmente e, a livello computazionale, rallenta parecchio.
Intanto, nel mondo reale, ognuno programma a modo suo e qualcuno, sovente, deve sobbarcarsi i problemi degli altri prima di risolverli :)

La release è minimale per venire a capo di questo problema, è stata testata e sicuramente, con il contributo della comunità, passivo o attivo che sia, potrà vivere rosei sviluppi (rimando al file TODO).

L'iniziativa tende a cogliere anche gli insulti, in caso qualcuno si rendesse conto che la ruota sia stata inventata ennesimamente... Ma ricordate: chiavi composite, Db in produzione che non può essere svuotato, RDBMS diverso e update asincrono, quindi niente replication schema, binlog o altre finezze (in sintesi: il male). 

Buon inizio di settimana 
giuseppe