Vai al contenuto principale

SQLite

Traduzione Beta Non Ufficiale

Questa pagina è stata tradotta da PageTurner AI (beta). Non ufficialmente approvata dal progetto. Hai trovato un errore? Segnala problema →

Installazione

  • per Better SQLite:
npm install better-sqlite3
  • per sql.js:
npm install sql.js

Opzioni Data Source

Consulta Opzioni del Data Source per le opzioni comuni dei data source.

Opzioni del data source better-sqlite3

  • database - Percorso del database. Ad esempio, "mydb.sqlite".

  • enableWAL - Abilita la modalità WAL (predefinito false). Vedi Modalità WAL di SQLite.

  • fileMustExist - Se il database non esiste, viene generato un errore invece di creare un nuovo file. Non influisce sulle connessioni in memoria o di sola lettura (predefinito false).

  • key - Chiave di crittografia per SQLCipher.

  • nativeBinding - Percorso relativo o assoluto all'addon nativo (better_sqlite3.node).

  • prepareDatabase - Funzione da eseguire prima di utilizzare un database in TypeORM. È possibile accedere all'oggetto Database originale di better-sqlite3 qui.

  • readonly - Apre la connessione al database in modalità sola lettura (predefinito false).

  • statementCacheSize - Dimensione della cache delle istruzioni SQLite per velocizzare le query (predefinito 100).

  • timeout - Numero di millisecondi di attesa durante l'esecuzione di query su un database bloccato, prima di generare un errore SQLITE_BUSY (predefinito 5000).

  • verbose - Funzione richiamata per ogni stringa SQL eseguita dalla connessione al database.

Opzioni del data source sql.js

  • database: Il database UInt8Array grezzo da importare.

  • sqlJsConfig: Configurazione opzionale per l'inizializzazione di sql.js.

  • autoSave: Abilita la persistenza automatica delle modifiche al database, richiede location o autoSaveCallback. Se impostato su true, ogni modifica viene salvata sul file system (Node.js) o su localStorage/indexedDB (browser) se è specificata location, altrimenti viene invocato autoSaveCallback.

  • autoSaveCallback: Funzione richiamata quando vengono apportate modifiche al database e autoSave è abilitato. La funzione riceve un UInt8Array che rappresenta il database.

  • location: Percorso del file per caricare e salvare il database.

  • useLocalForage: Abilita l'utilizzo della libreria localforage per salvare e caricare il database in modo asincrono da indexedDB invece di usare i metodi sincroni di localStorage in ambiente browser. Il modulo node localforage deve essere aggiunto al progetto e localforage.js importato nella pagina.

Opzioni del data source capacitor

  • database - Nome del database (capacitor-sqlite aggiungerà il suffisso SQLite.db)

  • driver - Istanza capacitor-sqlite. Ad esempio, new SQLiteConnection(CapacitorSQLite).

  • mode - Imposta la modalità di crittografia del database: "no-encryption" | "encryption" | "secret" | "newsecret"

  • version - Versione del database

  • journalMode - Modalità journal di SQLite (opzionale)

Opzioni del data source cordova

  • database - Nome del database

  • location - Posizione per salvare il database. Vedere cordova-sqlite-storage per le opzioni.

Opzioni del data source expo

  • database - Nome del database. Ad esempio, "mydb".

  • driver - Modulo Expo SQLite. Ad esempio, require('expo-sqlite').

Opzioni del data source nativescript

  • database - Nome del database

Opzioni del data source react-native

Tipi di Colonna

int, int2, int8, integer, tinyint, smallint, mediumint, bigint, decimal, numeric, float, double, real, double precision, datetime, varying character, character, native character, varchar, nchar, nvarchar2, unsigned big int, boolean, blob, text, clob, date, json, jsonb

TypeORM supporta sia i tipi json che jsonb in SQLite:

  • json viene memorizzato come TEXT.

  • jsonb viene memorizzato nel formato JSON binario di SQLite. TypeORM avvolge automaticamente i valori con la funzione jsonb() durante la persistenza e con la funzione json() durante il recupero per un supporto trasparente e prestazioni migliori.

Il supporto JSONB richiede SQLite 3.45.0 o più recente. Quando si utilizza il tipo di colonna jsonb, TypeORM utilizzerà il tipo jsonb nello schema del database, che SQLite gestisce internamente come BLOB binario.