sql server 开发最佳体验

公司看我比较闲,这周开始让我去做 sql-server 数据库开发。

一开始觉得数据库有什么好开发的,很多业务直接写到应用层,数据表操作和查询都直接让应用来写,不是挺好的嘛。但是看了一下已经写好的部分存储过程,被里面简单直接的写法惊讶到了,虽然没有像应用那么直接可以有各种丰富数据类型、方法可以使用,但是就数据来说,xxxxxx。。。。。总之,没想到还能这么搞。对于使用 sql server 就4天的我来说,形容 sql server 开发的词不多。

 

好的,不废话,写这篇文章的主要目的是因为,sql server 上写代码非常非常非常的不爽。

1. 文件的组织关系找不到。平时写的代码都有代码文件,但是数据库的表,存储过程,真心不好管理。

2. sql server studio 工具使用的非常不习惯,因为使用了十来年的苹果系统,现在在 windows 系统上用这个工具。非常的不习惯。

3. 存储过程运行生效的环节,让初学者难以理解。首次修改某一存储过程时候,从数据库里面拉一份存储过程下来编辑,编辑好之后再要“执行”生效。如果有多个人协同开发,就可能存在彼此覆盖的问题。而且如果每次从数据库里面拉代码下来,只能 呵呵,开发超级累。

 

摸索并请教过数据库大神之后,较为合理的开发方式是:

1. 维护一个类似 table.sql 的文件,将自己或者团队共同维护的项目所 建的表,都写到一个文件里面去。在开发过程中,将表的变更、创建等操作都写到该文件。当需要升级服务数据库的时候,将新增的部分脚本,在目标服务器上执行一次。

2. 将存储过程的代码本地维护一份,并传到 SVN 上进行管理。当需要升级的时候,将新的存储过程代码挑出来,然后在待升级的数据库上,“执行”一次存储过程的代码。

 

这样看来,持续的做多轮迭代的数据库开发,也是可以来做的。

但是,不喜欢 windows 的开发环境,以及在 sql server studio 上操作执行存储过程的方式,还有写出来的代码,不好备份,不好比较,不好测试等等在写应用时非常自然的开发习惯  全部找不到落脚点了!非常难受。

 

所以,一直在想,怎样的开发实践方案最爽呢,找到了 visual studio code 的一个 sql server 插件。琢磨出一个让自己开发的舒服的 sql server 开发方式。

 

主要使用这么几点:

1. 使用一个 开发 IDE 工具来写 t-sql 代码

2. 每个 t-sql 语句,包括建表等表操作,存储过程,函数等,都可以建工程然后保存固定的位置,然后用 git 来管理代码,协同开发。

3. 工程里面包含测试用例的 sql 文件和简单易行的 其他语言的脚本文件来调用测试。

4. 多个 sql server 环境快速的切换。

5. 数据库服务器升级方案,通过 git 比较来筛选出上一版本和当前版本的差异内容,然后生成 升级包(其实就是差异的 sql 语句)。

 

具体实践步骤,我准备自己再多用用再在下文写出来。这会先把理想的项目结构给构造出来,以后还可以做一个 sql-server 项目的脚手架,哈哈。不过现在是不是 sql server 开发的人没那么多了,估计没什么人来使用。

 

另外,我还需要多看看别人怎么做 sql server 开发实践的。最后,大家不要被我只看了4天 t-sql 代码的我给糊弄了,应该还有很多更好的开发实践方式 我没见过。

 

==========

晚上又试了下  大名鼎鼎的  datagrip , 貌似更加好用。。。也许这个工具才是最佳实践方式

 

==========

后来又试了一个工具,是微软自己出的,叫 Azure Data Studio ,也是很好用,跨平台的工具。它的功能和 sql server 管理器非常的相似,具有数据库的管理工作,可惜没有找到定时触发器在哪里设置。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值