sql - 在团队中使用 Oracle 存储过程的工具?

标签 sql oracle version-control stored-procedures

您在团队中使用哪些工具来开发 Oracle 存储过程:

  • 自动“锁定”您正在使用的当前程序,以便团队中的其他人在您完成之前无法对其进行更改。
  • 自动将您在 Oracle 数据库中的存储过程中所做的更改发送到 Subversion、CVS、... 存储库

  • 谢谢!

    最佳答案

    我不确定原始发布者是否仍在监视此问题,但无论如何我都会问这个问题。

    原始帖子要求能够:

    To automatically "lock" the current procedure you are working with, so nobody else in the team can make changes to it until you are finished.



    也许这里的问题是开发范式之一,而不是产品无法“锁定”存储过程。每当我听到“我想锁定它,这样其他人就不会更改它”时,我会立即感觉到人们正在共享一个模式,并且每个人都在同一个空间中开发。

    如果是这样,为什么不简单地让每个人都有自己的模式和数据模型的副本?我的意思是认真的人,创建另一个模式不会“花费”任何东西。这样,每个开发人员都可以进行更改,直到他们脸色发青,而不会影响其他任何人。

    我过去(在小型团队中)使用的另一个技巧是让每个开发人员由于大小而无法拥有自己的数据副本,那就是拥有一个包含所有表和代码的主模式,公共(public)同义词指向这一切。然后,如果开发人员想要处理存储过程,他只需在他的模式中创建它。这样一来,Oracle 名称解析首先找到一个而不是主模式中的副本,从而允许他们在不影响其他任何人的情况下测试他们的代码。这确实有它的缺点,但这是一个非常具体的案例,我们可以与它们一起生活。显然,我永远不会在生产中实现这样的东西。

    至于第二个要求:

    To automatically send the changes you make in the stored procedure, in an Oracle database, to a Subversion, CVS, ... repository



    我会惊讶地发现那里有足够聪明的工具来做到这一点(也许是一个机会:)。它必须连接到您的数据库,查询数据字典(USER_SOURCE)并提取相关文本。对于几乎普遍基于文件的源代码控制系统来说,这是一项艰巨的任务。

    关于sql - 在团队中使用 Oracle 存储过程的工具?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/111852/

    相关文章:

    Mysql插入选择值

    AS 的 SQL 语法错误

    java - 单个事务中刷新和持久化时的多个约束违规

    sql - 在 SQL 查询中插入日志语句

    mysql - SQL 查询字符串中的可选变量

    svn - 我如何查看 SVN 中文件的版本树,它显示了从分支到主干的合并?

    MySql order by 与今天的日期相关

    sql - 在优势数据库表中重置身份(自动递增字段)

    git - 标记提交消息和变更集

    git - PyCharm "Can' t 更新 : no tracked branch"for VCS Update Project