SQLite
Diese Seite wurde von PageTurner AI übersetzt (Beta). Nicht offiziell vom Projekt unterstützt. Fehler gefunden? Problem melden →
Installation
- für Better SQLite:
npm install better-sqlite3
- für sql.js:
npm install sql.js
- für Capacitor, Cordova, Expo, NativeScript und React Native, siehe unterstützte Plattformen.
Datenquellen-Optionen
Allgemeine Datenquellen-Optionen finden Sie unter Data Source Options.
better-sqlite3 Datenquellen-Optionen
-
database- Datenbankpfad. Zum Beispiel:"mydb.sqlite". -
enableWAL- Aktiviert den WAL-Modus (Standard:false). Siehe SQLite WAL-Modus. -
fileMustExist- Wenn die Datenbank nicht existiert, wird ein Fehler geworfen anstatt eine neue Datei zu erstellen. Betrifft keine In-Memory- oder schreibgeschützten Verbindungen (Standard:false). -
key- Verschlüsselungsschlüssel für SQLCipher. -
nativeBinding- Relativer oder absoluter Pfad zum nativen Addon (better_sqlite3.node). -
prepareDatabase- Funktion, die ausgeführt wird, bevor die Datenbank in TypeORM verwendet wird. Hier kann auf das originale better-sqlite3 Database-Objekt zugegriffen werden. -
readonly- Öffnet die Datenbankverbindung im schreibgeschützten Modus (Standard:false). -
statementCacheSize- Cache-Größe für SQLite-Statements zur Beschleunigung von Abfragen (Standard:100). -
timeout- Wartezeit in Millisekunden bei gesperrter Datenbank, bevor ein SQLITE_BUSY-Fehler geworfen wird (Standard:5000). -
verbose- Funktion, die bei jedem von der Datenbankverbindung ausgeführten SQL-String aufgerufen wird.
sql.js Datenquellen-Optionen
-
database: Das rohe UInt8Array-Datenbankobjekt, das importiert werden soll. -
sqlJsConfig: Optionale Initialisierungskonfiguration für sql.js. -
autoSave: Aktiviert die automatische Speicherung von Datenbankänderungen. Erfordert entwederlocationoderautoSaveCallback. Beitruewird jede Änderung im Dateisystem (Node.js) oder inlocalStorage/indexedDB(Browser) gespeichert, wennlocationangegeben ist. Andernfalls wirdautoSaveCallbackaufgerufen. -
autoSaveCallback: Eine Funktion, die bei Datenbankänderungen aufgerufen wird, wennautoSaveaktiviert ist. Die Funktion erhält einUInt8Array, das die Datenbank repräsentiert. -
location: Dateipfad zum Laden und Speichern der Datenbank. -
useLocalForage: Aktiviert die Verwendung der localforage-Bibliothek, um die Datenbank asynchron aus der indexedDB zu laden/speichern statt synchroner localStorage-Methoden in Browserumgebungen. Das localforage-Node-Modul muss im Projekt hinzugefügt werden, und localforage.js muss in der Seite importiert werden.
capacitor Datenquellen-Optionen
-
database- Datenbankname (capacitor-sqlite fügt das SuffixSQLite.dbhinzu) -
driver- Die capacitor-sqlite-Instanz. Zum Beispiel:new SQLiteConnection(CapacitorSQLite). -
mode- Setzt den Modus für Datenbankverschlüsselung: "no-encryption" | "encryption" | "secret" | "newsecret" -
version- Datenbankversion -
journalMode- Der SQLite-Journalmodus (optional)
cordova Datenquellen-Optionen
-
database- Datenbankname -
location- Speicherort der Datenbank. Optionen siehe cordova-sqlite-storage.
expo Datenquellen-Optionen
-
database- Name der Datenbank. Zum Beispiel: "mydb". -
driver- Das Expo-SQLite-Modul. Zum Beispiel:require('expo-sqlite').
nativescript Datenquellen-Optionen
database- Datenbankname
react-native Datenquellen-Optionen
-
database- Datenbankname -
location- Speicherort der Datenbank. Optionen siehe react-native-sqlite-storage.
Spaltentypen
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 unterstützt sowohl json als auch jsonb Typen in SQLite:
-
jsonwird alsTEXTgespeichert. -
jsonbwird im binären JSON-Format von SQLite gespeichert. TypeORM umhüllt Werte automatisch mit derjsonb()-Funktion beim Speichern und mit derjson()-Funktion beim Abruf, um transparente Unterstützung und bessere Leistung zu bieten.
JSONB-Unterstützung erfordert SQLite 3.45.0 oder neuer. Wenn Du den jsonb-Spaltentyp verwendest, wird TypeORM den jsonb-Typ in deinem Datenbankschema verwenden, den SQLite intern als binären BLOB behandelt.