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

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