文章目录
前言
Node.js 社区中,sequelize 应该是最好用的 ORM 框架,它支持多种数据库,包括 PostgreSQL ,MySQL ,SQLite 和 MSSQL.
安装 npm install --save sequelize
在你的项目中使用了哪种数据源,那么对应的去安装此数据源的驱动程序:
$npm install --save pg pg-hstore # PostgreSQL
$npm install --save mysql2 # MySQL
$npm install --save mariadb # Mariadb (mysql的孪生兄弟)
$npm install --save sqlite3 # SQLlite
$npm install --save tedious # Microsoft SQL Server
sequelize类 名称类型说明
databaseString数据库名
[username=null]String数据库用户名
[password=null]String数据库密码
[options={}]Object参数对象
[options.dialect='mysql']String要连接的数据库类型。可选值有:mysql、postgres、sqlite、mariadb、mssql
[options.dialectModulePath=null]String指定后,将通过此路径模块加载数据库
[options.dialectOptions]Object 路径模块所使用的扩展选项
[options.storage]String仅用于sqlite, 默认为':memory:'
[options.host='localhost']String连接数据库的主机
[options.port=]String连接数据库的端口
[options.protocol='tcp']String连接数据库使用的协议
[options.define={}]Object定义模型的选项,默认为'sequelize.define'选项
[options.query={}]Object'sequelize.query'的默认选项
[options.set={}]Object'sequelize.set'的默认选项
[options.sync={}]Object'sequelize.sync'的默认选项
[options.timezone='+00:00']String时间转换时从数据库得到的JavaScript时间。这个时区将应用于连接服务器的 NOW、CURRENT_TIMESTAMP或其它日期函数
[options.logging=console.log]Function用于Sequelize日志打印的函数
[options.omitNull=false]Booleannull值是否通过SQL查询
[options.native=false] Boolean是否使用本地库,仅用于 postgres
[options.replication=false]Boolean是否使用读/写复制(读写分离)。要启用读 ,写复制,需要传递一个对象,这个对象有read、write两个属性。write是一个单一的对象(由单台服务器处理写入),而read是一个包含对象的数组(由多台服务器处理读取)。每台read、write服务器都可以包含以下属性:host、port、username、password、database。
[options.pool={}]Object使用连接池连接,默认为true
[options.pool.maxConnections]Integer
[options.pool.minConnections]Integer
[options.pool.maxIdleTime]Integer连接最大空置时间(毫秒),超时后将释放连接
[options.pool.validateConnection]Function连接验证函数
[options.quoteIdentifiers=true]Boolean设置为false时Postgres中会使表名和属性大小写不敏感,并跳过双引号
[options.transactionType='DEFERRED']String设置事务类型,详见Sequelize.Transaction.TYPES。仅Sqlite适用
[options.isolationLevel='REPEATABLE_READ']String设置事件的隔离级别,详见Sequelize.Transaction.ISOLATION_LEVELS
[options