[Gfoss] DB spatialite: come gestire un aggiornamento di tabelle e view rilascio di versioni aggiornate

a.furieri a lqt.it a.furieri a lqt.it
Mer 22 Ott 2014 10:41:31 CEST


On Tue, 21 Oct 2014 15:25:41 +0200, Luca Mandolesi wrote:
> Grazie Alessandro delle dritte fondamentali...tuttavia mi sono 
> accorto
> che devo non solo aggiungere campi, ma addirittura fare dei drop view
> e rigenerare le view stesse....diventa tutto molto complesso quando a
> decidere la struttura dei dati non sei tu.
>

Luca,

quella frasettina "quando a decidere la struttura dei dati non sei tu"
mi fa nascere dubbi angosciosi e decisamente inquietanti.

ma stiamo parlando solo ed esclusivamente della struttura delle tavole
interne definite da pyarchinit ?
oppure quando parli di problemi di versioni successive intendi toccare
direttamente anche le meta-tavole interne di SpatiaLite ?

la risposta che ho gia' dato vale ovviamente solo ed esclusivamente per
l'aggiornamento tra versioni successive di pyarchinit; ma in questo
caso ovviamente sei proprio tu a decidere tutto dall'A alla Z

se invece parliamo delle tavole di sistema di SpatiaLite la risposta
e' totalmente differente:

A) evitare sempre e comunque qualsiasi tentazione di interferire usando
    strumenti che non siano quelli "vanilla" offerti da spatialite;
    finira' sicuramente malissimo.

B) non vi e' nessuna reale necessita' di modificare il layuout delle
    meta-taavole interne di spatialite: qualsiasi versione successiva e'
    sempre perfettamente in grado di leggere e scrivere i DB-files
    creati da qualsiasi versione precedente, e lo fa in modo 
assolutamente
    trasparente.
    per capirsi meglio: quando apri con la 4.2 un DB creato con la 3.0
    la 4.2. si comporta esattamente come si sarebbe comportata la 3.0,
    quindi non avrai mai problemi di back-compatibility.
    ovviamente non vale nel senso opporto: di norma la 3.0 non riuscira'
    ad aprire correttamente un DB creato dalla 4.2
    l'evoluzione e' sempre una strada a senso unico: si va sempre in
    avanti e non si torna mai indietro.

C) esiste comunque un tool a riga di comando che consente di cambiare
    al volo il formato interno di un DB gia' esistente:
          spatialite_convert (lo trovi tra gli spatialite-tools)
    dai ritorni di esperienza pratica pare robusto ed affidabile;
    funziona in entrambi i sensi: puoi ottenere un DB 4.x a partire da
    uno 3.x, ma puoi anche ottenere un 3.x a partire da un 4.x

ciao Sandro



Maggiori informazioni sulla lista Gfoss