2011-06-03 137 views
0

这可能是一个简单的问题。我有一个数据库用于存储我的用户详细信息。我的应用程序查询这个数据库以确定他们是否获得访问权限。更改生产数据库

在测试过程中,如果我想更改数据库的结构,比如添加一个新列,我会简单地删除表并重新创建它们。我不认为我想在现场系统上做到这一点。我会如何安全地去做这样的事情?

谢谢

回答

1

在源代码控制一般来说,我已经追踪数据库更改为这样:

  • 有脚本的初始基准生成初始数据库。这一步可以在开发和测试环境中按需执行,但在生产中它几乎只是第一次执行。
  • 有一个delta脚本文件夹。从头开始生成数据库时,此文件夹中的脚本(以有意义的方式排序,如数字或日期时间戳)在初始基线脚本之后运行。对于这个例子,它将是一个脚本中的ALTER TABLE命令。

从零开始创建数据库时,所有内容都按顺序运行。在对活动数据库应用更改时,只会运行尚未运行的增量。 (通过跟踪哪个版本的源代码管理位于哪个环境,跟踪哪些已经运行过程。)

如果deltas文件夹开始变得难以管理,我想你可以重新设置创建脚本的基线时。这可能不是一个坏主意,只是作为一个健康检查,以确保事情没有被引入到系统中而没有得到正确的跟踪。

0

改变表是你想要的命令。

0

我建议你写一个简单的PHP脚本来改变你的测试数据库,而不是做手工,there are many examples available via google并使用相同的脚本在你的生产(生活)数据库

不要忘了始终先创建一个备份,以防出现问题。

祝你好运!

相关问题