建立连接

要连接到数据库,你必须创建 Sequelize 实例. 这可以通过将连接参数分别传递给 Sequelize 构造函数或传递单个连接 URI 来完成:

  1. const Sequelize = require('sequelize');
  2. //方法1:单独传递参数
  3. const sequelize = new Sequelize('database', 'username', 'password', {
  4. host: 'localhost',
  5. dialect: /* 'mysql' | 'mariadb' | 'postgres' | 'mssql' 之一 */
  6. });
  7. // 方法2: 传递连接 URI
  8. const sequelize = new Sequelize('postgres://user:pass@example.com:5432/dbname');

Sequelize 构造函数采用了 Sequelize构造函数的API参考 中记录的大量参数.

注意: 设置 SQLite

如果你正在使用 SQLite, 你应该使用以下代码:

  1. const sequelize = new Sequelize({
  2. dialect: 'sqlite',
  3. storage: 'path/to/database.sqlite'
  4. });

注意: 连接池 (生产环境)

如果从单个进程连接到数据库,则应仅创建一个 Sequelize 实例. Sequelize 将在初始化时设置连接池. 可以通过构造函数的 options 参数(使用options.pool)配置此连接池,如以下示例所示:

  1. const sequelize = new Sequelize(/* ... */, {
  2. // ...
  3. pool: {
  4. max: 5,
  5. min: 0,
  6. acquire: 30000,
  7. idle: 10000
  8. }
  9. });

Sequelize构造函数API参考中了解更多信息. 如果从多个进程连接到数据库,则必须为每个进程创建一个实例,但每个实例应具有最大连接池大小,以便遵守总的最大大小.例如,如果你希望最大连接池大小为 90 并且你有三个进程,则每个进程的 Sequelize 实例的最大连接池大小应为 30.