Creazione db app alla prima esecuzione

3

Sto lavorando su Qt/QML/MySQL app e voglio ottenere la massima personalizzazione del software; quindi ho impacchettato le impostazioni dell'app in SQLite3 file di database. Ho parecchi script SQLite3 codificati in app, ma la mia domanda è che è meglio avere questi script incorporati nel codice stesso o dovrei avere fisicamente SQLite3 file situati in alcune impostazioni directory che dall'app li carica al primo avvio?

    
posta KernelPanic 03.02.2016 - 12:40
fonte

2 risposte

3

is is it better to have these scripts embedded into code itself or should I have physically SQLite3 files located in some settings directory which from the app loads them at first run

Avere questi file SQLite3 situati in alcune directory delle impostazioni renderà possibile agli utenti delle applicazioni, o agli amministratori che lo installano, di modificarli e / o manipolarli. Quindi la risposta corretta alla tua domanda è: dipende da se vuoi consentire , oppure se vuoi impedire questo. Esiste un software in cui consentire ad altre persone questo tipo di personalizzazione è perfetto, e c'è un software in cui consentire ad altre persone questo sarebbe pericoloso. Scegli la tua scelta in base alla categoria in cui cade la tua app.

Inoltre, se si dispone di diversi file di database SQLite, ognuno di essi contiene informazioni sullo schema. Pertanto, quando per versioni successive o versioni del software è necessario apportare modifiche allo schema, assicurarsi di non dover modificare manualmente ciascun file SQLite, uno alla volta. Un altro fattore è il controllo della versione: i file binari non sono adatti per gli strumenti di diff / merge, gli script SQL o il codice testuale funzionano molto meglio con questo. Quindi, anche se decidi di distribuire i file SQLite binari per le impostazioni direttamente al tuo utente finale e di non incorporare il codice creazionale direttamente nella tua app, dovresti almeno avere il codice in una specie di strumento generatore interno, che è mantenuto nel controllo della versione invece dei file binari.

    
risposta data 03.02.2016 - 15:33
fonte
1

Il migliore, dal punto di vista dell'utente, è verificare l'esistenza di un'impostazione e, se non è presente, creare un valore predefinito. (lo stesso vale per il DB: se non è presente, crearlo)

Ciò consente a tutte le impostazioni di essere sempre presenti nel DB, consentendo a tutti di essere personalizzate senza preoccuparsi di cestinare un'impostazione personalizzata da alreayd0 e offrire all'utente la facilità di non doversi preoccupare della configurazione impostazioni file al momento dell'installazione.

Puoi anche aggiungere nuove impostazioni a un'installazione esistente senza problemi.

    
risposta data 03.02.2016 - 12:49
fonte

Leggi altre domande sui tag