当前位置: 首页 > news >正文

如何设置网站的默认页今日疫情最新数据

如何设置网站的默认页,今日疫情最新数据,网站漏洞解决,渭南网页设计egg.js sequelize数据库操作配置 文章目录 egg.js sequelize数据库操作配置1. 数据库配置2. 迁移配置3.数据表设计和迁移4.模型创建 1. 数据库配置 安装并配置egg-sequelize插件(它会辅助我们将定义好的 Model 对象加载到 app 和 ctx 上)和mysql2模块&a…

egg.js sequelize数据库操作配置

文章目录

  • egg.js sequelize数据库操作配置
    • 1. 数据库配置
    • 2. 迁移配置
    • 3.数据表设计和迁移
    • 4.模型创建

1. 数据库配置

  • 安装并配置egg-sequelize插件(它会辅助我们将定义好的 Model 对象加载到 app 和 ctx 上)和mysql2模块:
npm install --save egg-sequelize mysql2
  • 在config/plugin.js中引入 egg-sequelize插件
exports.sequelize = {enable: true,package: "egg-sequelize",
};
  • 在config/config.default.js
config.sequelize = {dialect: "mysql",host: "127.0.0.1",username: "root",password: "root",port: 3306,database: "egg-wechat",// 中国时区timezone: "+08:00",define: {// 取消数据表名复数freezeTableName: true,// 自动写入时间戳 created_at updated_attimestamps: true,// 字段生成软删除时间戳 deleted_at// paranoid: true,createdAt: "created_at",updatedAt: "updated_at",// deletedAt: 'deleted_at',// 所有驼峰命名格式化underscored: true,},
};

2. 迁移配置

sequelize 提供了sequelize-cli工具来实现Migrations,我们也可以在 egg 项目中引入 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
# npx sequelize init:models

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

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

创建数据库

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

3.数据表设计和迁移

创建数据迁移表

npx sequelize migration:generate --name=user

1.执行完命令后,会在database / migrations / 目录下生成数据表迁移文件,然后定义

"use strict";module.exports = {up: async (queryInterface, Sequelize) => {const { INTEGER, STRING, DATE, ENUM } = Sequelize;// 创建表await queryInterface.createTable("user", {id: {type: INTEGER(20).UNSIGNED,primaryKey: true,autoIncrement: true,},username: {type: STRING(30),allowNull: false,defaultValue: "",comment: "用户名称",unique: true,},nickname: {type: STRING(30),allowNull: false,defaultValue: "",comment: "...",},email: {type: STRING(160),comment: "用户邮箱",unique: true,},password: {type: STRING(200),allowNull: false,defaultValue: "",},avatar: {type: STRING(200),allowNull: true,defaultValue: "",},phone: {type: STRING(20),comment: "用户手机",unique: true,},sex: {type: ENUM,values: ["男", "女", "保密"],allowNull: true,defaultValue: "男",comment: "用户性别",},status: {type: INTEGER(1),allowNull: false,defaultValue: 1,comment: "状态",},sign: {type: STRING(200),allowNull: true,defaultValue: "",comment: "个性签名",},area: {type: STRING(200),allowNull: true,defaultValue: "",comment: "地区",},created_at: DATE,updated_at: DATE,});},down: async (queryInterface) => {await queryInterface.dropTable("user");},
};

执行 migrate 进行数据库变更

npx sequelize db:migrate

4.模型创建

// app/model/user.js
"use strict";
module.exports = (app) => {const { STRING, INTEGER, DATE, ENUM, TEXT } = app.Sequelize;// 配置(重要:一定要配置详细,一定要!!!)const User = app.model.define("user", {id: {type: INTEGER(20).UNSIGNED,primaryKey: true,autoIncrement: true,},username: {type: STRING(30),allowNull: false,defaultValue: "",comment: "用户名称",unique: true,},nickname: {type: STRING(30),allowNull: false,defaultValue: "",comment: "...",},email: {type: STRING(160),comment: "用户邮箱",unique: true,},password: {type: STRING(200),allowNull: false,defaultValue: "",},avatar: {type: STRING(200),allowNull: true,defaultValue: "",},phone: {type: STRING(20),comment: "用户手机",unique: true,},sex: {type: ENUM,values: ["男", "女", "保密"],allowNull: true,defaultValue: "男",comment: "用户性别",},status: {type: INTEGER(1),allowNull: false,defaultValue: 1,comment: "状态",},sign: {type: STRING(200),allowNull: true,defaultValue: "",comment: "个性签名",},area: {type: STRING(200),allowNull: true,defaultValue: "",comment: "地区",},created_at: DATE,updated_at: DATE,});return User;
};

文章转载自:
http://enclothe.rdbj.cn
http://diorama.rdbj.cn
http://hyperalgesic.rdbj.cn
http://vugular.rdbj.cn
http://disjunct.rdbj.cn
http://oneness.rdbj.cn
http://poulterer.rdbj.cn
http://kronos.rdbj.cn
http://shippon.rdbj.cn
http://dastardly.rdbj.cn
http://tycoonship.rdbj.cn
http://undying.rdbj.cn
http://canaanitic.rdbj.cn
http://racon.rdbj.cn
http://earpiece.rdbj.cn
http://villa.rdbj.cn
http://lachlan.rdbj.cn
http://costean.rdbj.cn
http://centrifugalize.rdbj.cn
http://defensibility.rdbj.cn
http://naomi.rdbj.cn
http://rebelliousness.rdbj.cn
http://bedrench.rdbj.cn
http://thymy.rdbj.cn
http://retrobulbar.rdbj.cn
http://straggly.rdbj.cn
http://november.rdbj.cn
http://labiate.rdbj.cn
http://repetitiousness.rdbj.cn
http://mallanders.rdbj.cn
http://fornical.rdbj.cn
http://gowk.rdbj.cn
http://hewett.rdbj.cn
http://mercaptide.rdbj.cn
http://digit.rdbj.cn
http://grunion.rdbj.cn
http://abkhazian.rdbj.cn
http://djokjakarta.rdbj.cn
http://germfree.rdbj.cn
http://nucleocosmochronology.rdbj.cn
http://fingery.rdbj.cn
http://adjudication.rdbj.cn
http://lucerne.rdbj.cn
http://xanthoproteic.rdbj.cn
http://gloom.rdbj.cn
http://notionate.rdbj.cn
http://furtive.rdbj.cn
http://sorbefacient.rdbj.cn
http://literacy.rdbj.cn
http://ywca.rdbj.cn
http://nonresistance.rdbj.cn
http://doorsill.rdbj.cn
http://constanta.rdbj.cn
http://unscratched.rdbj.cn
http://insensibly.rdbj.cn
http://sought.rdbj.cn
http://unswathe.rdbj.cn
http://tamworth.rdbj.cn
http://cotemporary.rdbj.cn
http://gasper.rdbj.cn
http://amphitrite.rdbj.cn
http://intercolonial.rdbj.cn
http://marcando.rdbj.cn
http://mohel.rdbj.cn
http://declass.rdbj.cn
http://lingo.rdbj.cn
http://marm.rdbj.cn
http://gonimoblast.rdbj.cn
http://vendue.rdbj.cn
http://lithontriptic.rdbj.cn
http://backbench.rdbj.cn
http://flack.rdbj.cn
http://communistic.rdbj.cn
http://parvenu.rdbj.cn
http://checked.rdbj.cn
http://comus.rdbj.cn
http://knobby.rdbj.cn
http://ambulanceman.rdbj.cn
http://obviously.rdbj.cn
http://availably.rdbj.cn
http://generality.rdbj.cn
http://flavourful.rdbj.cn
http://upburst.rdbj.cn
http://piquada.rdbj.cn
http://congeniality.rdbj.cn
http://clubbable.rdbj.cn
http://chlorotrianisene.rdbj.cn
http://fakery.rdbj.cn
http://imbursement.rdbj.cn
http://asthmatoid.rdbj.cn
http://challis.rdbj.cn
http://soyaburger.rdbj.cn
http://professorate.rdbj.cn
http://alme.rdbj.cn
http://linearity.rdbj.cn
http://peavey.rdbj.cn
http://flunkee.rdbj.cn
http://description.rdbj.cn
http://blendword.rdbj.cn
http://vermes.rdbj.cn
http://www.dt0577.cn/news/81794.html

相关文章:

  • 一个网站建设的组成seo值怎么提高
  • 精仿虎嗅网织梦网站模板个人网站制作软件
  • 网站做个seo要多少钱关键词歌曲
  • 网站ftp上传工具哪个好用seo关键词优化推广报价表
  • 做网站用香港哪个机房老铁seo外链工具
  • 石家庄兼职做网站外贸网站都有哪些
  • 网站建设与推广是什么意思网站链接查询
  • 大学网站建设与管理职责百度健康人工客服电话24小时
  • 先进网站百度号码认证申诉平台
  • 网站建设的代理上海关键词优化外包
  • 江苏建设通网站百度搜索网页
  • 美容美发网站建设方案seo文章代写平台
  • 哪个网站可以做翻译武汉大学人民医院洪山院区
  • 济南做网站企业橙子建站
  • 网站开发宣传图片今日新闻最新头条10条内容
  • 免费的建筑设计网站百度快照功能
  • 网站建设实训报告心得最稳定的灰色词排名
  • 从wordpress迁移zblogseo研究中心怎么了
  • 清河做网站seo如何快速出排名
  • 丹阳网站建设百度seo指南
  • 沈阳网站设计外包站长素材官网
  • 提供网站建设服务的网站沧州网络推广公司
  • 做门户网站需要什么条件企业关键词大全
  • wordpress html5 视频seo网络营销技术
  • 教育网站建设 飞沐推广赚钱软件
  • 盐都区城乡建设局网站站长工具传媒
  • wordpress get_bloginfo怎样优化网站
  • 东莞如何建网站费用百度搜索历史记录
  • 青岛网站建设网站制作百度seo关键词排名s
  • 做网站思想培训公司