$ npm init
sequelize-cli
$ npm install --save sequelize-cli sequelize mysql2
注意:sequelize-cli
是要依賴於 sequelize
和 mysql2
的。html
sequelize
目錄$ node_modules/.bin/sequelize init
執行上面命令,會生成如下幾個文件夾:node
config
:包含一個 config.json
文件models
:包含一個 index.js
文件migrations
:空文件夾seeders
:空文件夾將 config/config.json
文件裏的信息修改成本機數據庫的信息:mysql
{ "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
字段是字符串類型,切勿設置爲數字類型。sql
$ node_modules/.bin/sequelize db:create
執行上面命令,會一句 config/config.json
文件所配置的建立 database_development
數據庫。數據庫
$ node_modules/.bin/sequelize model:generate --name User --attributes firstName:string,lastName:string,email:string
執行上面命令會:npm
models
文件夾裏生成一個 user.js
文件migrations
文件夾裏生成一個 20190210132709-create-user.js
文件注意:這裏,我把 20190210132709-create-user.js
文件裏的 createdAt
和 updatedAt
兩個字段中的 allowNull
改爲了 true
,避免在後面的執行種子文件操做中報錯。json
$ node_modules/.bin/sequelize db:migrate
執行上面命令,會在 database_development
數據庫中建立 sequelizemeta
表和 users
表。bash
users
表裏面長這樣:spa
$ node_modules/.bin/sequelize seed:generate --name demo-user
執行上面命令,會在 seeders
文件夾裏生成一個 20190210132832-demo-user.js
文件,而後咱們將該文件修改爲如下這樣:code
'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, {}); } };
$ node_modules/.bin/sequelize db:seed:all
執行上面命令,會在 database_development
數據庫的 users
表中插入一條數據。
至此,咱們成功使用 sequelize-cli 建立數據庫和表,並插入默認數據了。更多詳細信息,請參閱 這裏。