要在 SQLite 上使用 Sequelize,你需要安装 @sequelize/sqlite 方言包:
npm i @sequelize/sqlite3然后在 Sequelize 构造函数中使用 SqliteDialect 作为 dialect 选项:
import { Sequelize } from '@sequelize/core';
import { SqliteDialect } from '@sequelize/sqlite3';
const sequelize = new Sequelize({
dialect: SqliteDialect,
storage: 'sequelize.sqlite',
});import ConnectionOptions from './_connection-options.md';
SQLite 方言支持以下选项:
| 选项 | 说明 |
|---|---|
storage |
SQLite 数据库文件的路径。 |
mode |
用于打开数据库连接的整型位标志。 该模式可以是 OPEN_READONLY、OPEN_READWRITE、OPEN_CREATE、OPEN_FULLMUTEX、OPEN_URI、OPEN_SHAREDCACHE、OPEN_PRIVATECACHE 的按位或(使用 ` |
password |
连接时使用的 "PRAGMA KEY" 密码(如使用 sqlcipher 等插件)。 |
SQLite 支持两种类型的临时存储:
- 将
storage设为空字符串,使用基于磁盘的临时存储。 - 将
storage设为':memory:',使用基于内存的临时存储。
无论哪种方式,数据库在连接关闭时都会被销毁。因此,使用临时存储时需要配置 连接池 保持单一连接,配置如下:
const sequelize = new Sequelize({
dialect: SqliteDialect,
storage: ':memory:', // or ''
pool: { max: 1, idle: Infinity, maxUses: Infinity },
});SQLite 还支持以下选项:
| Option | Description |
|---|---|
foreignKeys |
If set to false, SQLite will not enforce foreign keys. |