安装mysql
 : npm i –save egg-sequelize mysql2
配置
  // config/plugin.js
  // 配置mysql插件 
  sequelize:{
    enable:true,
    package:'egg-sequelize'
  }

  //config/default.js
  // 配置数据库
  config.sequelize = {
    dialect:'mysql',
    host:'127.0.0.1', //地址
    username:'root', //账号
    password:'yjx100860', //密码
    port:3306, //端口
    database:'eggapi', //数据名称
    // 中国时区
    timezone:'+08:00', define:{ // 取消数据库表名复数 freezeTablename:true, // 自动写入时间戳 created_at updated_at timestamps:true, // 字段生成软删除时间戳 deleted_at paranoid:true, createdAt:'created_at', updatedAt:'updated_at', deletedAt:'deleted_at', // 所有驼峰命名格式化 underscored:true }

安装 sequelize-cli  :   npm install –save-dev sequelize-cli

在 egg 项目中,我们希望将所有数据库 Migrations 相关的内容都放在 database 目录下,所以我们在项目根目录下新建一个 .sequelizerc 配置文件:

'use strict';

const path = require('path');

module.exports = {
  config: path.join(__dirname, 'database/config.json'),
  'migrations-path': path.join(__dirname, 'database/migrations'),
  'seeders-path': path.join(__dirname, 'database/seeders'), 'models-path': path.join(__dirname, 'app/model'), };

初始化 Migrations 配置文件和目录

npx sequelize init:config
npx sequelize init:migrations

执行完后会生成 database/config.json 文件和 database/migrations 目录,我们修改一下 database/config.json 中的内容,将其改成我们项目中使用的数据库配置:

  "development": {
    "username": "root",
    "password": "yjx100860",
    "database": "eggapi",
    "host": "127.0.0.1",
    "dialect": "mysql", "timezone":"+08:00" },

创建数据库

npx sequelize db:create

 

———–开始创建数据表——

创建数据表
npx sequelize migration:generate --name=init-users

执行完后会在 database/migrations 目录下生成一个 migration 文件(${timestamp}-init-users.js),我们修改它来处理初始化 users 表:

'use strict';

/** @type {import('sequelize-cli').Migration} */
module.exports = {
  async up (queryInterface, Sequelize) {
    const {INTEGER,STRING,DATE,ENUM} = Sequelize
    // 创建表名 : users 
    await queryInterface.createTable('users', {
      id: { 
        type: INTEGER(20).UNSIGNED, primaryKey: true, //主键 autoIncrement: true //自增  }, username: { type:STRING(30), allowNull:false, //不允许为空 defaultValue:'', //默认值为空 comment:'用户名称', //备注用户名 unique:true //唯一性  }, password:{ type:STRING(200), allowNull:false, defaultValue:'', }, avatar_url:{ type:STRING(200), allowNull:false, defaultValue:'', }, sex:{ type:ENUM, values:['男','女','保密'], allowNull:false, defaultValue:'男', comment:'用户性别', }, created_at: DATE, updated_at: DATE, }); }, async down (queryInterface, Sequelize) { // 删除数据表 await queryInterface.dropTable('users'); } };

创建好后,执行代码,数据库的表才会创建

执行 migrate 进行数据库变更

# 升级数据库
npx sequelize db:migrate
# 如果有问题需要回滚,可以通过 `db:migrate:undo` 回退一个变更
# npx sequelize db:migrate:undo
# 可以通过 `db:migrate:undo:all` 回退到初始状态
# npx sequelize db:migrate:undo:all

以上就创建了数据库且创建了数据表

原文地址:http://www.cnblogs.com/qd-lbxx/p/16808307.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性