1. 程式人生 > 實用技巧 >node用express寫後端restful介面實戰二:用sequelize的操作資料庫,sequelize的安裝,建立資料庫

node用express寫後端restful介面實戰二:用sequelize的操作資料庫,sequelize的安裝,建立資料庫

Sequelize 是什麼?

在 Node.js 世界,最簡單的操作資料庫的方式,是使用 Sequelize。Sequelize 是一個基於 promise 的 Node.js ORM,它具有強大的事務支援,關聯關係,預讀和延遲載入,讀取複製等功能。Sequelize,其實除了支援MySQL外,還可以支援以下這些資料庫:

  1. Postgres
  2. MariaDB
  3. SQLite
  4. Microsoft SQL Server

1.安裝

$ cnpm install sequelize -S
$ cnpm install mysql2 -S
$ cnpm install sequelize-cli -g
$ sequelize init
  • 進入自己專案路徑後,需要同時安裝 sequelize 和 mysql2。這樣才能正常操作 MySQL 資料庫。最後,咱們安裝了 sequelize-cli,這個和上一集用到的 express-generator 類似,是用來通過命令建立 sequelize 需要的目錄和相關程式碼的。

  • Tips: 這裡安裝 sequelize-cli 使用的是 -g 引數,將它安裝成全域性的了。這樣就可以在任意的 Node.js 專案中都直接執行 sequelize 命令,而不用每一個專案都單獨安裝。

  • 最後一個命令,是初始化專案。

sequelize的初始化後目錄結構

.
├── config
│   └── config.json
├── migrations
├── models
│   └── index.js
└── seeders

初始化專案後,在專案資料夾中發現又新增了這麼多新目錄。

  1. config 是配置的意思,這裡放的也就是 sequelize 所需要的連線資料庫的配置檔案。

  2. migrations 是遷移的意思,如果你需要對資料庫做新增表、修改欄位、刪除表等等操作,就需要在這裡新增 遷移檔案 了

  3. models 裡面存放的是模型檔案,我們使用 sequelize 來執行 CURD,也就是 建立、修改、讀取、刪除資料,就需要用這裡的模型了。每個模型都對應資料庫中的一張表。

  4. seeders,是存放的種子檔案。一般會將一些需要新增到資料表的測試資料存在這裡。只需要執行一個命令,資料表中就會自動填充進測試內容了。

  5. 以上這些東東,我們下一節會一一用到,這一節大家只需要瞭解,當運行了 sequelize init 以後,生成的目錄中有哪些東西就好了。

2.建立資料庫

下面要做的是建立一個 blog 專案所需要的資料庫,

首先要把資料庫mysql服務執行起來,可用系統安裝的,也可用phpstudy裡的,隨便啟動一個即可

1.先來修改下 config/config.json

可以看到這裡有三段配置,在不同環境中,程式就會執行不同的配置。

環境 說明
development 開發環境,專案開發時候使用
test 測試環境,專案測試使用
production 生產環境,專案正式上線時使用
  1. 現在要做的就是專案開發,當然就是改 development 了
  2. 首先來改資料庫密碼。
  3. 接著要改的是,資料庫的名稱。一般來說,設定的和專案名稱一致就好了,咱們改為 blog_development。
"development": {
    "username": "root",
    "password": "root",
    "database": "blog_development",
    "host": "127.0.0.1",
    "dialect": "mysql"
  }

2. 設定完成後,執行命令,建立資料庫

$ sequelize db:create --charset 'utf8mb4'

實操過程

F:\Test\node\blog>sequelize db:create --charset 'utf8mb4'

Sequelize CLI [Node: 12.8.1, CLI: 6.2.0, ORM: 6.3.5]

Loaded configuration file "config\config.json".
Using environment "development".
Database blog_development created.

Tips:

  • 命令的最後面添加了引數,使用 utf8mb4 編碼格式,這樣咱們存中文到資料庫,就不會出現亂碼了。

  • 有的同學碰到過,執行這條命令的時候報錯。那麼也可以直接使用 MySQL客戶端 軟體,自己手動建庫。注意將編碼設定為 utf8mb4 就好。

  • 開啟 資料庫軟體,重新整理下,發現果然出現了 blog_development 這個資料庫