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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Beq

我们应该鼓励分享,开源精神

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值