Sequelize-cli的基本使用

第一步:安裝及初始化

npm i sequelize-cli -D
npm i sequelize
npm i mysql2

在node_modules父級目錄下執行node_modules/.bin/sequelize init

初始化後會生成config.js

const { env } = process;

module.exports = {
  "development": {
    "username": env.MYSQL_USERNAME,
    "password": env.MYSQL_PASSWORD,
    "database": env.MYSQL_DB_NAME,
    "host": env.MYSQL_HOST,
    "port": env.MYSQL_PORT,
    "dialect": "mysql",
    "operatorsAliases": false,  // 此參數爲自行追加,解決高版本 sequelize 連接警告
  },  
  "production": {
    "username": env.MYSQL_USERNAME,
    "password": env.MYSQL_PASSWORD,
    "database": env.MYSQL_DB_NAME,
    "host": env.MYSQL_HOST,
    "port": env.MYSQL_PORT,
    "dialect": "mysql",
    "operatorsAliases": false, // 此參數爲自行追加,解決高版本 sequelize 連接警告
  }
}

可以在環境變量配置對應的敏感數據。

在models目錄下會有一個index.js文件生成,該文件功能是通過fs來讀取models下所有.js文件集成爲一個對象。

第二步:創建數據庫 終端輸入 node_modules/.bin/sequelize db:create

第三步:創建遷移文件 node_modules/.bin/sequelize migration:create --name create-shops-table

修改文件內容

module.exports = {
  up: (queryInterface, Sequelize) => queryInterface.createTable(
    'shops',
    {
      id: {
        type: Sequelize.INTEGER,
        autoIncrement: true,
        primaryKey: true,
      },
      name: {
        type: Sequelize.STRING,
        allowNull: false,
      },
      thumb_url: Sequelize.STRING,
      created_at: Sequelize.DATE,
      updated_at: Sequelize.DATE,
    },
  ),

  down: queryInterface => queryInterface.dropTable('shops'),
};

 

創建一個記錄數據庫遷移記錄的表

node_modules/.bin/sequelize db:migrate

回退表狀態,進行down操作

node_modules/.bin/sequelize db:migrate:undo

回退所有表達初始狀態

node_modules/.bin/sequelize db:migrate:undo:all

數據填充操作

node_modules/.bin/sequelize seed:create --name init-shops

在文件裏填充好數據,填充到表中

輸入 node_modules/.bin/sequelize db:seed:all

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章