初始化
使用 Sequelize CLI 時,會用 npx sequelize init 完成初始化
1 2
| $ npm install --save-dev sequelize-cli $ npx sequelize init
|
為什麼會使用 npx 來呼叫,而非 npm?
如果我們在專案內呼叫 sequelize,會從專案內的 node_modules 裡的 .bin
資料夾找 sequelie 相關執行檔,也就是 node_modules/.bin/sequelize
安裝 npm 5.2版開始,也會附帶安裝 npx 工具包,npx的功用是「自動定位套件真正的安裝路徑」。
每個人電腦環境設定不同,有些人設定套件執行檔並非安裝在 node_modules/.bin
上,在執行 sequelize 前必須先搞懂套件安裝的路徑在哪裡,才能去呼叫,因此才有了 npx
的工具存在。
以下介紹的指令皆會由 npx 來呼叫
Seequelize 指令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| $ npm install --save-dev sequelize-cli
$ npx sequelize-cli model:generate --name User --attributes firstName:string, lastName:string, email:string
$ npx sequelize-cli db:migrate
$ npx sequelize-cli db:migrate:undo
$ npx sequelize-cli db:migrate:undo:all --to XXXXXXXXXXXXXX-create-posts.js
$ npx sequelize-cli seed:generate --name default-data
$ npx sequelize db:seed:all
$ npx sequelize db:seed:undo:all
$ npx sequelize-cli db:seed:undo --seed name-of-seed-as-in-data
|
Model Querying 查詢
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| const hazel = await User.create({ firstName: 'Hazel', lastName: 'Wu' })
Todo.findAll({ raw: true, nest: true })
Model.findAll({ attributes: ['firstName'] })
Model.findAll({ where: userId: 2 })
Model.findOne({ where: { email } })
Model.findByPk()
|
Reference