zoukankan      html  css  js  c++  java
  • 如何通过Visual Studio来管理我们的数据库项目

      某日的一个早晨,产品告诉我说要把之前变更的一个功能更改回原来的设计内容,但是发现我们之前的查询业务逻辑实在Proc中实现的,没有进行备份,不得已又要重新对该业务逻辑进行编码,浪费了不必要的时间与精力。

      通过这件事后思考,针对业务系统,很多复杂的查询逻辑是在PROC 中进行实现,如果哪天需求变更或者上线后发现问题需要回滚,这时候就会非常麻烦,如果能将数据库项目中相关视图,触发器或存储过程与版本管理工具结合起来的话,对于不同版本与不同分支时就能省很大一份力了,这样就解决了很多不必要的麻烦。

      为了解决问题首先是上网查相关资料,发现很多工具,但是不尽人意,兼容性和使用规则上不是那么完美,最后想到了宇宙第一IDE Visual Studio,也许微软早都替我们想好了呢,如此就发现了《SQL SERVER 数据库项目》,在结合了git后真是屡试不爽,下面就着重介绍一下数据库项目在系统中的应用。

     1、打开VS,点击文件-新建项目-SQL SERVER 数据库项目(tips:安装vs时需要添加数据库管理插件

    2、创建项目后,在创建的解决方案下右键点击导入-数据库-选择数据库所在连接,导入设置默认就好,如果你们的数据库权限范围较高的话,根据自身情况设置

    3、启动成功后,会自动扫描数据库的相关配置加载到VS列表当中,这样对系统的数据库架构就一览无遗了

    4、打开某个表的结构文件,可以看到我们表结构设计,相关的索引、主键、触发器等,当然都只是结构,并且我们在界面上修改后,同时会生成对应的SQL语句,我们可以直接到数据库中F5执行 以下即可

     

      有的同学会说,我还是习惯在SqlServer中对表进行修改,包含业务逻辑SQL的编写,还有些ef code first 相关的项目都是会直接操作到DB项目的,无妨,接下来我来看数据库项目重要一个功能,架构比较

    首先我在Person 内通过Sql Server新增一个字段

    alter table person add DepartmentId int null
    

      增加完毕后,右键我们的数据库项目,点击架构比较,这里需要进行区分,假如你在VS内更改的表结构往数据库更新,就将数据项目放置左边,从数据库往数据库项目更新,反之,否则更新反了后果可是很糟糕的,选择数据源后,点击比较,VS就会自动比较出当前项目与比较项目的差异,这里就可以根据你自己的需要进行一个勾选,然后点击更新后,就会将左边的架构更新至右边了。

    更新完毕之后,数据库项目中对应的表结构、存储过程、触发器等文件就会变成对应的物理文件,这些文件我们可以将它放置代码管理工具进行管理了,并且很好的注释此次更改的内容或新增的需求等,例如:

    git add person.sql

    git commit -ma "人员表增加部门Id"

    git push 

    通过代码管理工具我们就能将我们的数据项目打成一个一个分支,很方便查到我们每个时期对应的结构文件了。

    本文只是简单记录数据库项目在实际开发过程中带给我们的便利,让更多人知道这个实用的工具,其中还有很多坑需要各位一点一点去发现,这里就不一细说了,文章有写的不当的地方,请及时指出,如本文对您有所帮助,也请点个推荐,您的肯定也是是我最大的动力。thanks

  • 相关阅读:
    Python 学习日记 第七天
    Python 学习日记 第六天
    Python 学习日记 第五天
    Python 学习日记 第四天
    Redis 中的数据类型及基本操作
    Asp.net mvc 中View 的呈现(二)
    Asp.net mvc 中View的呈现(一)
    Asp.net mvc 中Action 方法的执行(三)
    Asp.net mvc 中Action 方法的执行(二)
    Asp.net mvc 中Action 方法的执行(一)
  • 原文地址:https://www.cnblogs.com/doNetTom/p/6484294.html
Copyright © 2011-2022 走看看