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

国外网站做盗版品牌推广营销方案

国外网站做盗版,品牌推广营销方案,可以做网站,做网站专业的公司一、什么是ORM ORM是在数据库和编程语言之间建立一种映射关系,这样可以让我们有非常简单的代码,来实现各种数据库的操作。 例如:使用mysql去查找表(表名称为Articles) SELECT * FROM Articles;但是我们使用ORM的话&…

一、什么是ORM

ORM是在数据库和编程语言之间建立一种映射关系,这样可以让我们有非常简单的代码,来实现各种数据库的操作。

例如:使用mysql去查找表(表名称为Articles)

SELECT * FROM `Articles`;

但是我们使用ORM的话,就有更便捷的方法去查找表

Article.all()

Article,表示先找到Article这个模型。注意下,这里Article是单数形式,这并不是我写错了,而是 ORM 的就这么规定的。模型名是单数,对应的表名是复数。这样子,它就会自动找到Articles表上。all(),就是查询所有的数据了。整行的意思就是,查询Articles表的所有数据。

同样的,如果我想查询id=2的这条记录,也不用写

SELECT * FROM `Articles` WHERE `id`=2;

而会改为

Article.findByPk(2)

这里的findByPk,里面的Pk,就是primary key,也就是主键的缩写。我们表里id就是主键,说白了就是通过id来查找数据。

大家看,这样使用ORM来操作数据库后,明显要比写SQL简单的太多了,再也不用背那么多可恶的SQL语句了。但这也不是说用了ORM以后,就一点也不用懂SQL语句了。ORM它只是把我们写的代码,自动转换成SQL了再运行,在底层,实际上一样跑的还是SQL语句。

而且当我们开发中碰到问题了,要调试错误,依然要看命令行里面运行的SQL语句。所以就算开发中不写SQL,也一定要能看懂是什么意思。

二、配置Sequelize ORM

1.在命令行中全局安装

npm i -g sequelize-cli

2.接着确保命令行是在当前项目的命令行里,还要安装当前项目所依赖的sequelize包和对数据库支持依赖的mysql2

npm i sequelize mysql2

3.初始化项目

sequelize init

三、配置完成后的目录结构

  • config:是配置的意思,这里放的也就是sequelize所需要的连接数据库的配置文件。
  • migrations:是迁移的意思,如果你需要对数据库做新增表、修改字段、删除表等等操作,就需要在这里添加迁移文件了。而不是像以前那样,使用客户端软件来直接操作数据库。
  • models:这里面存放的是模型文件,当我们使用sequelize来执行增删改查时,就需要用这里的模型文件了。每个模型都对应数据库中的一张表。
  • seeders,是存放的种子文件。一般会将一些需要添加到数据表的测试数据存在这里。只需要运行一个命令,数据表中就会自动填充进一些用来测试内容的了。

四、配置config.js

{"development": {"username": "root","password": "yourpassword","database": "yourmysql","host": "127.0.0.1","dialect": "mysql","timezone": "+08:00"},"test": {"username": "root","password": null,"database": "yourtestmysql","host": "127.0.0.1","dialect": "mysql","timezone": "+08:00"},"production": {"username": "root","password": null,"database": "yourproductionmysql","host": "127.0.0.1","dialect": "mysql","timezone": "+08:00"}
}

第一个要改的就是密码,修改成docker配置里,我们设定的密码。接着要改的是数据库的名字,改为clwy_api_development

最下面,还要加上时区的配置,因为我们中国是在+8区。这样在查询的时候,时间才不会出错。

那么同样的,也简单的给testproduction也调整一下。

五、使用ORM创建一个表

sequelize model:generate --name Article --attributes title:string,content:text

打开models/article.js。可以看到,在模型文件夹中,出现了一个叫做Article的模型,它里面有标题和内容。

标题是字符串类型,对应到 MySQL 数据库里,它就会自动变成varchar。内容部分,则是text类型。

现在就只需要知道,模型就是用来操作数据库的,就是因为有这个文件的存在,我们后面才能使用Article.all()

六、迁移文件和运行迁移

1、迁移文件

看看migrations文件夹,里面出现了一个由当前时间,加上create-article命名的文件,这个文件就是迁移文件了。它的作用就是用来创建、修改表的。看到这里,在up部分。我们通过createTabel,创建了一个叫做Articles的表。

接着往下看,这些就是定义了Articles这张表里面所拥有的字段了,比方说idtitlecontent,这些外还出现了两个时间字段createdAtupdatedAt

这两个字段,当在新增或修改数据的时候,sequelize会自动的帮我们填写的。

2、运行迁移

sequelize db:migrate

打开数据库客户端,刷新一下,可以看到Articles表又神奇的出现了。看一看结构选项卡,里面的字段和我们当时自己手动创建的完全一样,而且还多了两个时间字段。这就是迁移文件的作用了。

另外一张表SequelizeMeta是我们运行迁移命令时,自动生成的。这张表里记录了当前已经跑过了哪些迁移,这样当你再次运行sequelize db:migrate时,已经运行过的迁移文件,就不会重复再次执行了。

七、种子文件

现在表也有了,下一步就是要填充一些在开发中用来测试的数据了。当然你可以用手动往里面一点点填,但很多情况我们做测试,可能需要非常多的数据。例如我希望数据库里有 100 篇文章,这时候,我们一条条的录入也太笨了点。最简单的方法就是使用种子文件了。再来试试这条命令

sequelize seed:generate --name article

完成后,在seeds目录,就看到刚才命令新建的种子文件了。同样也是分为两个部分,up部分用来填充数据,down部分是反向操作,用来删除数据的。

先来看up部分,默认生成的代码里,给了我们一个案例。很明显,它这里是往People表里,插入了一点儿数据。

await queryInterface.bulkInsert('People', [{name: 'John Doe',isBetaMember: false
}], {});

我们可以参考它的写法,改为往Articles表里插入数据。

async up (queryInterface, Sequelize) {const articles = [];const counts = 100;for (let i = 1; i <= counts; i++) {const article = {title: `文章的标题 ${i}`,content: `文章的内容 ${i}`,createdAt: new Date(),updatedAt: new Date(),};articles.push(article);}await queryInterface.bulkInsert('Articles', articles, {});
},

运行种子

sequelize db:seed --seed xxx-article

后边的文件名字每个人的创建时间都不同,文件名字也不同,详细看seeders下生成的文件名

八、总结

http://www.yayakq.cn/news/48882/

相关文章:

  • 网站开发页面百度快照怎么看
  • 济南网站建设设计制作公司捕鱼游戏网站建设步骤
  • 广州做响应式网站合肥市建设网
  • 濮阳的网站建设苏州网站制作
  • 网站功能介绍是什么怎样做网站收录
  • 确定网站设计公司简报济南微网站
  • 做淘宝有哪些推广网站本溪建网站
  • 苏州建设局官方网站ps网页版在线制作
  • 外贸网站建设推广优化做ui设计的软件
  • 百度搜不到我的网站有了域名 建设自己的网站
  • 营销型设计网站手机优化不到80怎么办
  • 青岛做网站优化星子县网站建站公司
  • 网站建设用阿里还是华为云wordpress评分插件
  • 品牌网站 响应式网站黑龙江新闻法治频道节目回放
  • wordpress改企业网站阿森纳英超积分
  • 哪个网站可以悬赏做图网站后台添加内容网页不显示
  • 海南行指网站开发公司专门做鞋的网站
  • 公司内部网站页面设计建站价格会差
  • p2p网站 开发哈尔滨网站公司哪家好
  • 甘肃第四建设集团网站小程序怎么制作自己的小程序
  • 网站页面构成要素开江网站建设
  • 百度搜不到网站注册安全工程师查询官网
  • 常州市金坛建设局网站头像制作在线生成器
  • 黄金网站网站可以用cdr做吗
  • 做商城网站的企业影视app源码
  • h5电子商城网站开发长沙需要做网站的企业
  • 个人网站整站下载淮南网站设计
  • 卦神岭做网站iapp网站做软件
  • WordPress 网站成本目前专业做水果的网站有哪些
  • 博兴县城乡建设局网站大学学校网站建设方案