|
12
|
| Aurelio Martin Massoni · 技术社区 · 17 年前 |
|
|
1
9
我不确定原来的海报是否还在监控这个,但无论如何我会问这个问题。
也许这里的问题不仅仅是产品无法“锁定”存储过程,而是开发范式的问题。每当我听到“我想把这个锁起来,这样就没人能改变它”时,我立刻感觉到人们在共享一个模式,每个人都在同一个空间发展。 如果是这样,为什么不让每个人都有自己的模式和数据模型的副本呢?我的意思是说,认真地说,创建另一个模式不会“花费”任何东西。这样,每个开发人员都可以进行更改,直到他们脸色发青,而不会影响其他人。 我过去(在小团队中)使用过的另一个技巧是,由于数据的大小,让每个开发人员都有自己的数据副本是不可行的,那就是有一个包含所有表和代码的主模式,其中的公共同义词指向所有表和代码。然后,如果开发人员想要处理存储过程,他只需在 他的 架构。这样,Oracle名称解析就可以在主模式中首先找到一个而不是副本,从而允许他们在不影响其他任何人的情况下测试代码。这确实有它的缺点,但这是一个非常具体的案例,我们可以与他们一起生活。显然,我永远不会在生产中实现这样的东西。
我会惊讶地发现有足够聪明的工具可以做到这一点(也许是一个机会:)。它必须连接到您的数据库,查询数据字典(用户源)并提取相关文本。对于几乎是基于文件的源代码管理系统来说,这是一个很高的要求。 |
|
|
2
2
Oracle的新SQL开发人员内置了版本控制。 这是产品的链接。 http://www.oracle.com/technology/products/database/sql_developer/files/what_is_sqldev.html |
|
|
3
2
如果你还没有版本控制工具,那么写下你的需求并 pick one up . 很多人似乎用它 Subversion ,关联到 TortoiseSVN 作为Windows上的客户(我有)。 问题是:按照建议使用你的工具,并相应地调整你的程序。例如,Subversion使用 copy-modify-merge lock-modify-unlock 你喜欢的模特。 在我的情况下,我喜欢使用陆龟,如上所述。和通常使用这个工具一样:
不管你怎么选择,我建议你读这篇关于 database versioning . |
|
|
4
1
一个相对简单的解决方案可能是使用“锁定”而不是“合并”模式的版本控制系统。。。。Subversion或CVS通常使用“合并”模式(尽管我相信Subversion可以用来“锁定”文件?)
我能想到的在Oracle中进行操作的唯一方法可能是一些BEFORE CREATE触发器,可能是引用一个表来查找谁可以在其中运行包。听起来有点恶心? |
|
|
5
1
使用 Source Control for Oracle 你得到了很多你想要的东西。
创建对象的新SQL可以签入SVN或TFS(不幸的是,没有CVS支持)。 该工具不是免费的,但有28天的免费试用期。 |
|
|
6
0
Oracle SQL Developer 1.5 ,您可以轻松创建和管理到CVS或Subversion的连接。要创建CVS连接(例如),请单击 版本控制->CVS->签出模块 与CVS的集成也在 Toad . |
|
|
7
0
您可能还想看看Aqua Data Studio。它们还内置了SVN,是一个很棒的存储过程编辑器。 |
|
|
8
0
在不走运地寻找一个工具来处理Oracle对象的版本控制之后,我们创建了以下(不完美但合适)解决方案:
以下是步骤1最重要的查询:
每个对象一个文件的方法有助于识别更改。如果我在表中添加字段
步骤1和步骤3都是缓慢的过程。(几千份文件需要几分钟) |
|
|
9
-1
蟾蜍也不需要CVS/SVN。 |
|
|
maddy · 如何根据oracle SQL中的某一列值进行排名 3 年前 |
|
|
kiric8494 · 显示以元音开头和结尾的城市名称 4 年前 |
|
|
Franz Biberkopf · Oracle:组合子查询和聚合函数 4 年前 |
|
|
BitLauncher · 甲骨文-如何模拟位列和布尔和/或? 4 年前 |
|
|
Arifullah · 如何从oracle中的列中删除特定的初始字符? 4 年前 |
|
|
Anar · Oracle SQL用户定义函数 4 年前 |
|
|
user1312312 · 如何为一组表编写通用触发器? 4 年前 |