如何使用 Sequelize.js ORM 正确迁移 sqlite3 数据库?
Posted
技术标签:
【中文标题】如何使用 Sequelize.js ORM 正确迁移 sqlite3 数据库?【英文标题】:How to properly migrate a sqlite3 database using the Sequelize.js ORM? 【发布时间】:2014-10-10 03:22:27 【问题描述】:sequelize
似乎没有连接/打开我项目根目录中的 sqlite3 数据库文件。 sequelize -m
命令的输出表明一切都迁移得很好,但是 sqlite3 数据库文件仍然是空的。
config.json
"development":
"username": null,
"password": null,
"database": "main",
"host": "localhost",
"dialect": "sqlite",
"storage": "../data.sqlite3"
20140814210910-createUsersTable.js(迁移文件)
'use strict';
module.exports =
up: function (migration, DataTypes, done)
migration.createTable('users',
id:
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true
,
createdAt:
type: DataTypes.DATE
,
updatedAt:
type: DataTypes.DATE
,
email:
type: DataTypes.STRING
,
password:
type: DataTypes.STRING
).complete(done);
,
down: function (migration, DataTypes, done)
migration.dropTable('users').complete(done);
;
终端输出
$ sequelize -m
Loaded configuration file "config/config.json".
Using environment "development".
Loaded configuration file "config/config.json".
Using environment "development".
Running migrations...
20140814210910-createUsersTable.js
Completed in 18ms
文件夹结构
|-.
|-bin
|-config
|--config.json
|-migrations
|--20140814210910-createUsersTable.js
|-node_modules
|-server
|-tests
|-data.sqlite3
【问题讨论】:
您可能还想检查基于 SQL 的迁移解决方案,例如SQLite Client for Node.js Apps 【参考方案1】:错误是config.json
中storage
的路径值。
编辑config.json
阅读:
"development":
"dialect": "sqlite",
"storage": "data.sqlite3"
它成功了。
【讨论】:
以上是关于如何使用 Sequelize.js ORM 正确迁移 sqlite3 数据库?的主要内容,如果未能解决你的问题,请参考以下文章