Datenquellen-Optionen
Diese Seite wurde von PageTurner AI übersetzt (Beta). Nicht offiziell vom Projekt unterstützt. Fehler gefunden? Problem melden →
Was sind DataSourceOptions?
DataSourceOptions ist eine Konfiguration für die Datenquelle, die Sie beim Erstellen einer neuen DataSource-Instanz übergeben.
Verschiedene RDBMS haben ihre eigenen spezifischen Optionen.
Allgemeine Datenquellen-Optionen
-
type- RDBMS-Typ. Muss angegeben werden, welche Datenbank-Engine verwendet wird. Mögliche Werte: "mysql", "postgres", "cockroachdb", "sap", "spanner", "mariadb", "sqlite", "cordova", "react-native", "nativescript", "sqljs", "oracle", "mssql", "mongodb", "aurora-mysql", "aurora-postgres", "expo", "better-sqlite3", "capacitor". Diese Option ist erforderlich. -
extra- Zusätzliche Optionen für den zugrundeliegenden Treiber. Verwende diese, um zusätzliche Einstellungen an den Datenbanktreiber zu übergeben. -
entities- Entitäten oder Entity-Schemas, die für diese Datenquelle geladen und verwendet werden sollen. Akzeptiert Entitätsklassen, Entity-Schema-Klassen und Verzeichnispfade zum Laden. Verzeichnisse unterstützen Glob-Muster. Beispiel:entities: [Post, Category, "entities/*.js", "modules/**/entities/*.js"]. Mehr zu Entitäten. Mehr zu Entity-Schemas. -
subscribers- Subscriber, die für diese Datenquelle geladen und verwendet werden sollen. Akzeptiert sowohl Entitätsklassen als auch Verzeichnisse zum Laden. Verzeichnisse unterstützen Glob-Muster. Beispiel:subscribers: [PostSubscriber, AppSubscriber, "subscribers/*.js", "modules/**/subscribers/*.js"]. Mehr zu Subscribers. -
logging- Gibt an, ob Logging aktiviert ist. Beitruewerden Query- und Fehler-Logging aktiviert. Es können auch spezifische Logging-Typen aktiviert werden, z.B.["query", "error", "schema"]. Mehr zu Logging. -
logger- Zu verwendender Logger. Mögliche Werte: "advanced-console", "formatted-console", "simple-console" und "file". Standard ist "advanced-console". Es kann auch eine Logger-Klasse implementiert über dieLogger-Schnittstelle verwendet werden. Mehr zu Logging. -
maxQueryExecutionTime- Wenn die Abfrageausführungszeit diesen maximalen Wert (in Millisekunden) überschreitet, protokolliert der Logger diese Abfrage. -
poolSize- Konfiguriert die maximale Anzahl aktiver Verbindungen im Verbindungspool. -
namingStrategy- Benennungsstrategie für Tabellen- und Spaltennamen in der Datenbank. -
entityPrefix- Fügt allen Tabellen (oder Collections) dieser Datenquelle den angegebenen String als Präfix hinzu. -
entitySkipConstructor- Gibt an, ob TypeORM Konstruktoren beim Deserialisieren von Entitäten aus der Datenbank überspringen soll. Hinweis: Wenn der Konstruktor nicht aufgerufen wird, funktionieren private Eigenschaften und Standardwerte nicht wie erwartet. -
dropSchema- Löscht das Schema bei jeder Initialisierung der Datenquelle. Vorsicht: Nicht in der Produktion verwenden - sonst gehen alle Produktionsdaten verloren. Diese Option ist für Debugging und Entwicklung nützlich. -
synchronize- Gibt an, ob das Datenbankschema bei jedem Anwendungsstart automatisch erstellt werden soll. Vorsicht: Nicht in der Produktion verwenden - sonst können Produktionsdaten verloren gehen. Diese Option ist für Debugging und Entwicklung nützlich. Alternativ kann die CLI mit dem Befehl schema:sync verwendet werden. Hinweis: Für MongoDB wird kein Schema erstellt (schemalose Datenbank), stattdessen erfolgt die Synchronisierung nur durch Index-Erstellung. -
migrations- Migrationen, die für diese Datenquelle geladen und verwendet werden sollen. -
migrationsRun- Gibt an, ob Migrationen bei jedem Anwendungsstart automatisch ausgeführt werden sollen. -
migrationsTableName- Name der Tabelle in der Datenbank, die Informationen über ausgeführte Migrationen enthält. -
migrationsTransactionMode- Steuert den Transaktionsmodus beim Ausführen von Migrations. -
metadataTableName- Name der Tabelle in der Datenbank, die Metadaten über Tabellen enthalten soll. Standardmäßig heißt diese Tabelle "typeorm_metadata". -
cache- Aktiviert das Caching von Entity-Ergebnissen. Hier können auch der Cache-Typ und weitere Cache-Optionen konfiguriert werden. Weitere Informationen zum Caching hier. -
isolateWhereStatements- Aktiviert die Isolation von WHERE-Anweisungen, indem jede WHERE-Klausel automatisch in Klammern gesetzt wird. Beispiel:.where("user.firstName = :search OR user.lastName = :search")wird zuWHERE (user.firstName = ? OR user.lastName = ?)anstattWHERE user.firstName = ? OR user.lastName = ?. -
invalidWhereValuesBehavior- Steuert die Behandlung von null- und undefined-Werten in WHERE-Bedingungen für alle TypeORM-Operationen (Find-Operationen, QueryBuilder, Repository-Methoden).- Verhalten für
null:'ignore'(Standard) - überspringt null-Eigenschaften'sql-null'- transformiert null in SQL NULL'throw'- wirft einen Fehler
- Verhalten für
undefined:'ignore'(Standard) - überspringt undefined-Eigenschaften'throw'- wirft einen Fehler
Beispiel:
invalidWhereValuesBehavior: { null: 'sql-null', undefined: 'throw' }.Weitere Informationen zur Behandlung von Null und Undefined.
- Verhalten für
Beispiel für Data-Source-Optionen
Hier ist ein kleines Beispiel für Data-Source-Optionen für MySQL:
{
host: "localhost",
port: 3306,
username: "test",
password: "test",
database: "test",
logging: true,
synchronize: true,
entities: [__dirname + "/entities/**/*{.js,.ts}"],
subscribers: [__dirname + "/subscribers/**/*{.js,.ts}"],
entitySchemas: [__dirname + "/schemas/**/*.json"],
migrations: [__dirname + "/migrations/**/*{.js,.ts}"]
}