Zum Hauptinhalt springen

SQLite

Inoffizielle Beta-Übersetzung

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

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 entweder location oder autoSaveCallback. Bei true wird jede Änderung im Dateisystem (Node.js) oder in localStorage/indexedDB (Browser) gespeichert, wenn location angegeben ist. Andernfalls wird autoSaveCallback aufgerufen.

  • autoSaveCallback: Eine Funktion, die bei Datenbankänderungen aufgerufen wird, wenn autoSave aktiviert ist. Die Funktion erhält ein UInt8Array, 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 Suffix SQLite.db hinzu)

  • 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

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

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:

  • json wird als TEXT gespeichert.

  • jsonb wird im binären JSON-Format von SQLite gespeichert. TypeORM umhüllt Werte automatisch mit der jsonb()-Funktion beim Speichern und mit der json()-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.