Skip to content

Latest commit

 

History

History
64 lines (40 loc) · 3.3 KB

File metadata and controls

64 lines (40 loc) · 3.3 KB

Sequelize 用于 SQLite

要在 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_READONLYOPEN_READWRITEOPEN_CREATEOPEN_FULLMUTEXOPEN_URIOPEN_SHAREDCACHEOPEN_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 选项

SQLite 还支持以下选项:

Option Description
foreignKeys If set to false, SQLite will not enforce foreign keys.