DBA: Gestione Schema automatica
linkDescrizione
Dalla versione 11.1 se per il flag Database e schema auto-generati a run-time dalle applicazioni del database è attivo il sistema verifica lo schema anche quando si cambia la stringa di connessione.
Nota bene: La proprietà DefaultConnectionString dei database nelle applicazioni offline identifica univocamente il database. Pertanto cambiando la stringa di connessione è possibile "creare ed utilizzare" un nuovo database automaticamente creato dal browser. In altre parole è possibile scrivere:
Database.defaultConnectionString = "MiaApplicazione_MioDB1.db"; ... esecuzione query ... Database.closeConnection() Database.defaultConnectionString = "MiaApplicazione_MioDB2.db"; ... esecuzione query ...In questo caso il sistema crea 2 database differenti che utilizzano file fisici differenti. Ogni database può contenere i propri dati. Tale funzionalità può essere utilizzata, per esempio, se si desidera permettere ad utenti differenti di utilizzare l'applicazione e si vuole mantenere i dati di ogni utente.
Nota bene 2: Il browser garantisce che i database dell'applicazione siano univoci solo all'interno del dominio dell'applicazione stessa. Pertanto se l'applicazione web offline viene avviata ed installata dall'URL http://www.progamma.com/webdama e questa applicazione crea 3 database il browser identifica univocamente i database utilizzando la stringa di connessione solo per tutte le applicazioni installate a partire dal dominio www.progamma.com. Pertanto se si installano più applicazioni avviandole dallo stesso dominio è possibile far sì che una delle applicazioni "veda ed utilizzi" i database dell'altra applicazione.
A tale proposito suggeriamo di inserire nella DefaultConnectionString il nome dell'applicazione senza spazi. In questo modo i database sono comunque separati anche se le applicazioni vengono installate sempre a partire dallo stesso dominio, come mostrato nell'esempio sopra. Inoltre se si utilizza Caravel e l'applicazione offline viene rimossa, Caravel potrà eliminare, se richiesto dall'utente, tutti i database utilizzati dell'applicazione purché questi siano stati aperti e creati con una ConnectionString che iniziava con il nome dell'applicazione senza spazi.
Funzionalità interessate
Gestione schema automatica.
Note
- Miglioramento relativo alla richiesta di assistenza 000541-2012.
Ultima modifica: 25/10/2016 / Validità: da 11.1.4900