sequelize-cli 使用记录

50次阅读

共计 1748 个字符,预计需要花费 5 分钟才能阅读完成。

0. 初始化项目
$ npm init
1. 安装 sequelize-cli

$ npm install –save sequelize-cli sequelize mysql2
注意:sequelize-cli 是要依赖于 sequelize 和 mysql2 的。
2. 生成 sequelize 目录
$ node_modules/.bin/sequelize init
执行上面命令,会生成以下几个文件夹:

config:包含一个 config.json 文件

models:包含一个 index.js 文件

migrations:空文件夹

seeders:空文件夹

3. 配置连接数据库的信息
将 config/config.json 文件里的信息修改为本机数据库的信息:
{
“development”: {
“username”: “root”,
“password”: “123456”,
“database”: “database_development”,
“host”: “127.0.0.1”,
“dialect”: “mysql”
},
“test”: {
“username”: “root”,
“password”: “123456”,
“database”: “database_test”,
“host”: “127.0.0.1”,
“dialect”: “mysql”
},
“production”: {
“username”: “root”,
“password”: “123456”,
“database”: “database_production”,
“host”: “127.0.0.1”,
“dialect”: “mysql”
}
}
注意:password 字段是字符串类型,切勿设置为数字类型。
4. 创建数据库
$ node_modules/.bin/sequelize db:create
执行上面命令,会一句 config/config.json 文件所配置的创建 database_development 数据库。

5. 生成模型文件和迁移文件
$ node_modules/.bin/sequelize model:generate –name User –attributes firstName:string,lastName:string,email:string
执行上面命令会:

在 models 文件夹里生成一个 user.js 文件
在 migrations 文件夹里生成一个 20190210132709-create-user.js 文件

注意:这里,我把 20190210132709-create-user.js 文件里的 createdAt 和 updatedAt 两个字段中的 allowNull 改成了 true,避免在后面的执行种子文件操作中报错。
6. 执行迁移
$ node_modules/.bin/sequelize db:migrate
执行上面命令,会在 database_development 数据库中创建 sequelizemeta 表和 users 表。

users 表里面长这样:

7. 生成种子文件
$ node_modules/.bin/sequelize seed:generate –name demo-user
执行上面命令,会在 seeders 文件夹里生成一个 20190210132832-demo-user.js 文件,然后我们将该文件修改成以下这样:
‘use strict’;

module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.bulkInsert(‘Users’, [{
firstName: ‘John’,
lastName: ‘Doe’,
email: ‘demo@demo.com’
}], {});
},

down: (queryInterface, Sequelize) => {
return queryInterface.bulkDelete(‘Users’, null, {});
}
};
8. 执行种子文件
$ node_modules/.bin/sequelize db:seed:all
执行上面命令,会在 database_development 数据库的 users 表中插入一条数据。

9. 总结
至此,我们成功使用 sequelize-cli 创建数据库和表,并插入默认数据了。更多详细信息,请参阅 这里。

正文完
 0