相关疑难解决方法(0)

实现敏捷数据库流程的好方法是什么,它与代码库同步,特别是在持续集成方面?

我正在研究的项目是试图提出一个解决方案,让数据库和代码保持敏捷,并能够一起构建和部署.

由于应用程序是代码加上数据库模式和数据库代码表的组合,因此除非您拥有与代码一起版本化的数据库,否则您无法真正拥有应用程序的完整版本.

我们还没有能够在敏捷/ scrum环境中提供一个良好的敏捷方法来进行数据库开发以及代码.

以下是我的一些要求:

  1. 我希望能够拥有一个与系统完整版本相对应的svn版本#.
  2. 我不想将二进制文件签入到数据库的源代码控制中.
  3. 开发人员需要能够将代码提交到持续集成服务器,并将整个系统和数据库组合在一起.
  4. 必须能够自动部署到不同的环境,而不进行构建服务器上的原始构建之外的重建.

(更新)我将在这里添加更多信息以进一步解释.

没有OR/M工具,因为它是一个包含大量代码的遗留项目.我已经阅读了敏捷数据库设计信息,这个过程似乎是有效的,但我正在谈论将它与活动代码开发相结合.

这是两个场景

  1. 开发人员检查代码更改,这需要更改数据库.开发人员应该能够同时检入数据库更改,以便自动构建不会失败.

  2. 开发人员检查数据库更改,这应该会破坏代码.自动构建需要运行和失败.

最大的问题是,这些事情是如何同步的.没有"检查数据库更改"这样的事情.现在,数据库更改的应用是一个人必须要做的手动过程,同时不断进行代码更改.它们需要一起制作并一起检查,构建系统需要能够构建整个系统.

(更新2)还有一个补充:

你不能降低生产,你必须修补它.重建整个生产数据库是不可接受的.

database version-control agile continuous-integration database-design

9
推荐指数
1
解决办法
744
查看次数

源代码控制和存储过程

我一直在想如何将所有存储过程放在源代码控制下的SQL 2000上.
我们正在使用Subversion来处理所有正常的源代码,所以如果使用Subversion解决问题会很好.

你有什么想法?

更新16-02-2009:这是我用于导出所有存储过程的vbs脚本:

Set con = CreateObject("ADODB.Connection")
con.ConnectionString = "*** Database connection string here ***"
con.Open 
Set rs = CreateObject("ADODB.RecordSet")
rs.ActiveConnection = con

strSQL = "SELECT ROUTINE_NAME, ROUTINE_DEFINITION " & _
"FROM INFORMATION_SCHEMA.routines " & _
"WHERE ROUTINE_NAME NOT LIKE 'dt_%' " & _
"ORDER BY 1"

Set fso = CreateObject("Scripting.FileSystemObject")
rs.Open strSQL 
While Not rs.Eof 
    filename = rs("ROUTINE_NAME") & ".sql"
    routineSQL = rs("ROUTINE_DEFINITION")
    Set tf = fso.CreateTextFile(filename, True)
    tf.Write routineSQL
    tf.Close
    set tf = Nothing 
    rs.MoveNext
Wend …
Run Code Online (Sandbox Code Playgroud)

sql sql-server version-control stored-procedures

5
推荐指数
1
解决办法
2971
查看次数