[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