|
|
1
19
每个环境都应该有一个单独的数据库。编写所有数据库对象(表、视图、过程等)的脚本,并将脚本存储在源代码管理中。这些脚本首先应用于开发数据库,然后升级为测试(QA、UAT等),然后再生产。通过对每个数据库应用相同的脚本,它们最终都应该是相同的。 如果有需要加载的数据(代码表、查找值等),请编写作为数据库创建过程的一部分加载数据的脚本。 通过编写所有内容的脚本并将其保存在源代码管理中,可以随时为任何给定的生成级别重新创建数据库结构。 |
|
|
2
4
你应该有两个。为了保持它们同步,您应该始终创建用于创建数据库对象的DDL。像对待PHP代码一样对待这些脚本-将它们保存在版本控制中。任何时候需要修改测试数据库时,都可以编写一个脚本,然后将其签入。然后,您可以在准备好后将这些更改提交到生产系统。 |
|
|
3
2
作为每个开发工作站和生产工作站的至少一个数据库。除此之外,您应该为测试环境准备一个测试环境,除非您只是一个开发人员,并且具有与生产环境相似的设置。 |
|
|
4
1
How do you version your database schema? 这是一个常见的问题,已经被问过很多次了。 Thomas Owens:复制不能用于模式的版本控制-它用于复制数据。您永远不想从dev复制到production,或者从production复制到production。 |
|
|
5
0
一旦我部署了数据库,对开发数据库所做的任何更改都将在一个SQL脚本(不是工具)中完成,脚本将被保存并编号。
然后在部署时按顺序运行这些脚本。 然后我把它们归档到一个叫做
如果我犯了一个错误,我永远不会返回到以前的部署脚本,我将创建一个新脚本并在其中放置我的修复程序。 祝你好运 |
|
|
6
0
如果您的生产数据不在开发人员的机器上,那么这是另一个问题。在这种情况下,你可以做的一件事是建立一个跟踪虚拟机。运行从主数据库到跟踪虚拟机的复制。当您需要在生产数据库上运行一些更改时,首先停止从属服务器并保存快照。 启动该快照的实例,将其完全从从属模式中取出,应用更改,并将QA框指向该数据库。如果按预期工作,则可以对主生产数据库运行修补程序。如果没有,请调出快照,并再次将其从主机复制,直到准备好重复更新测试为止。 |
|
|
7
0
我也有同样的困境。我一直认为
或者
当它在我的虚拟(dev)计算机上运行时,本地数据库碰巧是
所以,在主要部分,问题消失了。 但有时我希望使用实时数据运行测试,或者将数据从代码移动到实时生产数据库中,并快速查看结果。
这时我添加了
默认情况下,我的应用程序使用
与其问这个问题
显然,我的处境可能与你不同,但我发现这一“理解上的突破”对我最有帮助。 |
|
|
Bard.Mus · 迁移后的数据库字符集环境 1 年前 |
|
Efannnnnn · 将Id数据存储到任何页面 1 年前 |
|
|
yooooo · 用于在块中删除的存储过程-LOOP未执行 1 年前 |
|
John Beasley · 更新一定数量记录的连续日期 1 年前 |
|
|
ColinM · MySQL以前的结果查询返回不正确的值 1 年前 |
|
Sergey_Z · MySQL只需无条件连接2个表和交叉连接 1 年前 |