Aggiornamento struttura fisica database
copia linkTrascrizione
Tutte le volte che apportiamo una modifica alla struttura database all’interno del progetto, la struttura fisica non si aggiorna automaticamente; è quindi necessario eseguire qualche operazione di riallineamento. Come ben sappiamo Ricreare la struttura di un database significa anche cancellare tutti i dati contenuti; nelle fasi iniziali di test possiamo anche eliminare tutti i dati ma quando la modifica viene apportata con l’applicazione già operativa, ed in uso dagli utenti la cancellazione totale è assolutamente un'operazione da non effettuare.
Con la logica della tabella ZZ_OBJECTS, che abbiamo visto nei tutorial precedenti, l’operazione di aggiornamento risulta indolore e rapida: questo perché le istruzioni effettive di aggiornamento verranno sempre elaborate effettuando un confronto tra una ipotetica ZZ_OBJECTS dell’albero di progetto e la ZZ_OBJECTS presente sul database.
Nel progetto youbb abbiamo in sospeso l’aggiornamento dell’ultima vista realizzata; innanzitutto prima di procedere possiamo fare un confronto tra il database nel progetto e il database fisico per capire le modifiche che saranno apportate; Albero di progetto, database, tasto destro Mostra differenze struttura. Notiamo appunto che ci viene segnalata una differenza in corrispondenza della Vista appena creata.
Passiamo all’aggiornamento fisico che possiamo realizzare dalla finestra di compilazione Menu Modifica -> Compila Progetto ed impostiamo Crea DDL, Esegui DDL e questa volta Modifica Struttura.
Nella seconda scheda disattivo tutti i flag in quanto non abbiamo ancora una applicazione da compilare e procedo con la del pulsante OK, verrà effettuato il confronto, creato il file ddl ed eseguito nel motore database: controlliamo nel database la presenza della vista.
Sarà sempre possibile Aggiornare il database o qualche volta sarà necessario Ricrearlo, beh a questa domanda rispondo Dipende…dipende dalle modifiche che abbiamo apportato, dipende dalla presenza o meno di dati sul database: ad esempio il cambio di un campo di chiave primaria su una tabella popolata è una operazione che potrebbe fallire.
Nel caso non si riesca ad aggiornare, bisogna ricreare, torno nella finestra di compilazione sceglo Crea DDL, Esegui DDL, Ricrea Struttura. Se volessi che i dati presenti vengano mantenuti imposto il check su Salva dati esistenti; questa è una funzionalità offerta dall’ambiente e non dal motore database; alla pressione del pulsante Ok vengono eseguite query per recuperare tutti i dati del database, vengono salvati su file con estensione DAT, successivamente si Ricrea la struttura (completamente vuota) e si reimportano i dati dai file precedenti: capite dunque che l’operazione avrà un tempo proporzionale alla quantità di dati contenuti e dal numero di tabelle presenti nel db.
Con la logica della tabella ZZ_OBJECTS, che abbiamo visto nei tutorial precedenti, l’operazione di aggiornamento risulta indolore e rapida: questo perché le istruzioni effettive di aggiornamento verranno sempre elaborate effettuando un confronto tra una ipotetica ZZ_OBJECTS dell’albero di progetto e la ZZ_OBJECTS presente sul database.
Nel progetto youbb abbiamo in sospeso l’aggiornamento dell’ultima vista realizzata; innanzitutto prima di procedere possiamo fare un confronto tra il database nel progetto e il database fisico per capire le modifiche che saranno apportate; Albero di progetto, database, tasto destro Mostra differenze struttura. Notiamo appunto che ci viene segnalata una differenza in corrispondenza della Vista appena creata.
Passiamo all’aggiornamento fisico che possiamo realizzare dalla finestra di compilazione Menu Modifica -> Compila Progetto ed impostiamo Crea DDL, Esegui DDL e questa volta Modifica Struttura.
Nella seconda scheda disattivo tutti i flag in quanto non abbiamo ancora una applicazione da compilare e procedo con la del pulsante OK, verrà effettuato il confronto, creato il file ddl ed eseguito nel motore database: controlliamo nel database la presenza della vista.
Sarà sempre possibile Aggiornare il database o qualche volta sarà necessario Ricrearlo, beh a questa domanda rispondo Dipende…dipende dalle modifiche che abbiamo apportato, dipende dalla presenza o meno di dati sul database: ad esempio il cambio di un campo di chiave primaria su una tabella popolata è una operazione che potrebbe fallire.
Nel caso non si riesca ad aggiornare, bisogna ricreare, torno nella finestra di compilazione sceglo Crea DDL, Esegui DDL, Ricrea Struttura. Se volessi che i dati presenti vengano mantenuti imposto il check su Salva dati esistenti; questa è una funzionalità offerta dall’ambiente e non dal motore database; alla pressione del pulsante Ok vengono eseguite query per recuperare tutti i dati del database, vengono salvati su file con estensione DAT, successivamente si Ricrea la struttura (completamente vuota) e si reimportano i dati dai file precedenti: capite dunque che l’operazione avrà un tempo proporzionale alla quantità di dati contenuti e dal numero di tabelle presenti nel db.
Ultima modifica: 19/03/2021 / Validità: da 20.0.7800