![]() |
1
11
索引是数据库模式的一部分,因此应该与其他所有内容一起受源代码控制。任何人都不应该在没有经过正常的QA和发布过程(特别是性能测试)的情况下到处创建生产索引。 有很多关于模式版本控制的其他线程。 |
![]() |
2
6
重新安装时,请执行以下操作: -查看产品的X版。 -从签出的“数据库”目录中,运行数据库脚本以创建数据库。 -使用签出的代码库与数据库交互。
使用这种方法,您永远不会遇到代码库数据库同步问题。 |
![]() |
3
5
对, DML或DDL的更改是通过脚本编写的,并签入到源代码管理中,主要是通过rails中的activerecord迁移。我讨厌不断地吹响rails的号角,但是在构建基于DB的系统的许多年中,我发现迁移路径比我使用或构建的任何国产系统都要好得多。 不要给它们加前缀 ,这很傻(因为您在sysobjects或任何数据库中都有类型元数据),但我确实包含表名和列,例如table name_col1_col2。 这样,如果我浏览sysobjects,我可以很容易地看到特定表的索引(这也是习惯的力量,wayyyy在我使用的一些DB m s上,索引名称在整个DB中是唯一的,所以确保这一点的唯一方法是使用唯一的名称)。 |
![]() |
4
1
我已经做了很长一段时间的Java程序员了,但是最近我被介绍到一个系统,这个系统的一部分使用Ruby on Rails进行数据库访问。关于RoR,我喜欢的一点是“迁移”的概念。基本上,你有一个目录,里面的文件看起来像001_add_foo_table.rb,002_add_bar_table.rb,003_add_blah_column_to_foo.rb等等。这些Ruby源文件扩展了一个父类,重写了名为“up”和“down”的方法。“up”方法包含需要进行的一组数据库更改,以便将数据库架构的早期版本转换为当前版本。类似地,“down”方法将更改还原回以前的版本。当您想为特定版本设置架构时,Rails迁移脚本会检查数据库以查看当前版本,然后查找从该版本向上(或向下)到所需修订版本的.rb文件。 为了使这成为你开发过程的一部分,你可以将这些检查到源代码管理中,然后根据口味调整。 在这里,Rails没有什么特别的,只是我第一次看到这种技术被广泛使用。您也可以使用成对的SQL DDL文件,比如001_UP_add_foo_table.SQL和001_DOWN_remove_foo_table.SQL。剩下的只是shell脚本的一个小问题,这是留给读者的练习。 |
![]() |
5
0
我总是使用源代码管理SQL(DDL、DML等)。它的代码和其他代码一样。它的良好实践。 |
![]() |
6
0
我不确定不同环境中的索引是否应该相同,因为它们有不同的数据大小。除非测试环境和生产环境具有相同的精确数据,否则索引将不同。
|
![]() |
7
0
我不将索引放在源代码管理中,而是放在索引的创建脚本中。;-)
|
![]() |
8
0
在我当前的项目中,我在源代码管理中有两件事:一个是空数据库的完全转储(使用pg_dump-c,这样它就有了创建表和索引所需的所有ddl),另一个是确定数据库版本的脚本,并应用alters/drops/adds将其升级到当前版本。前者在我们安装新站点时运行,也在QA开始新一轮测试时运行,后者在每次升级时运行。当您更改数据库时,需要更新这两个文件。 |
![]() |
9
0
使用grails应用程序,默认情况下索引存储在源代码管理中,因为您是在表示域对象的文件中定义索引定义的。只是提供“Grails”视角作为参考。 |