[Gfoss] eliminare colonne vettore da DB Manager

a.furieri a lqt.it a.furieri a lqt.it
Mar 1 Lug 2014 19:37:19 CEST


On Tue, 01 Jul 2014 19:05:07 +0200, matteo wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Ciao a tutti,
> premetto la mia ignoranza in geodatabase, quindi sorry per la domanda
> banale.
> sto lavorando a un progetto e mi sto trovando meglio a caricare i
> layer in qgis e poi man mano in un db spatialite grazie al DB.
>
> ora, vorrei "ripulire" i vari vettori caricati nel db via DB Manager,
> ma se apro le proprietà della tabella per eliminare o modificare
> qualche colonna, vedo che i pulsanti sono disattivati.
>
> sto sbagliando qualcosa di basilare?
>

ciao Matteo,

per SQLite eliminare una colonna da una tavola una volta che e'
stata creata e' un'operazione assolutamente impossibile;
esattamente cosi' come e' impossibile cambiare successivamente
il nome di qualsiasi colonna.

puo' piacere o non piacere, ma e' una caratteristica
fondamentale di SQLite, e sicuramente non cambiera' in
nessuna delle prossime versioni perche' e' legato in modo
strutturale a come funziana internamente il DB.
se SQLite e' cosi' dannatamente leggero e veloce e' anche
proprio perche' e' stato volutamente progettato con queste
precise caratteristiche (se preferisci le puoi anche chiamare
limitazioni scelte consapevolmente).

per fare quello che hai in mente su base SQLite quindi occorre
sempre fare qualcosa di questo tipo:

a) rinomini la tavola che non ti piace piu' cosi' com'e'
b) ti crei ua nuova nuova tavola con le caratteristiche che
    hai deciso di adottare
c) copi i valori tra la vecchia e la nuova tavola
d) alla fine puoi eliminare del tutto la vecchia tavola
    visto che non serve piu'

se usi SpatiaLite GUI scoprirai che c'e' una funzione del
menu che ti fa l'intera operazione in modo totalmente
automatico via dialog box.

ciao Sandro


Maggiori informazioni sulla lista Gfoss