快速,持续,稳定,傻瓜式
支持Mysql,Sqlserver数据同步

[nodejs数据库同步]nodejs+sequelize同步模型到mysql数据库

请联系QQ:1793040 索取软件

nodejs如果采用mysql数据库作为对象持久存储,可以使用sequelize这个库来做orm,同时,这个库可以将模型同步到数据库,无需我们手动创建表,这点可以和hibernate媲美,hibernate通过hibernate.hbm2ddl.auto=update属性,可以让项目在启动时对实体做的新增和修改直接同步到数据库中,同理sequelize让nodejs可以方便的来创建实体到表的映射,而且可以创建索引,这点比hibernate似乎更让人振奋。

这里简单罗列一些主要的文件,然后通过sequelize同步实体模型到数据库。做实体同步映射只需要这三个文件夹bin,models,config,其中bin目录用来存放可执行程序,models存放实体,config存放数据库配置。文件结构如下所示:

bin

migrate.js//模型同步到数据库脚本

config

db.json//数据库配置

models

employee.js//定义实体employee

department.js//定义实体department

index.js//模型层对外接口

package.json//项目配置文件(指定依赖库)

其中employee.js文件内容如下:


比hibernate更有意思的地方是还可以创建索引,但是这是node库,自然无法和hibernate比,这里只是稍微提一下。

department.js文件内容如下:


index.js文件内容如下:


这里会对models目录下除index.js文件之外的文件都进行同步,并且同步之后,将模型名称首字母大写作为db对外暴露的接口的一个对象。

db.json文件内容如下:


db配置我们还配置了连接池。

migrate.js文件内容如下:


package.json文件内容如下:


同步数据用到的库mysql,sequelize。

以上文件准备好了之后就可以运行以下命令来进行同步:

$ cd path/to/project

$ node bin/migrate.js


最后我们可以查看数据库中的表结构进行验证我们的同步:


查看在employee表上创建的索引:


到此,一个简单的数据同步过程就完成了,思路很明确:实体定义,数据库配置,同步。这里面会用到sequelize定义数据表结构,还会用到sequelize.import和sequelize.sync来同步。

相关推荐

咨询软件
 
QQ在线咨询
售前咨询热线
QQ1793040