Mysql 更改生产数据库

Mysql 更改生产数据库,mysql,database,Mysql,Database,这可能是一个简单的问题。我有一个用于存储用户详细信息的数据库。我的应用程序查询此数据库以确定他们是否可以访问 在测试期间,如果我想更改数据库的结构,例如添加一个新列,我只需删除表并重新创建它们。我不想在一个实时系统上这样做。我怎样才能安全地做那样的事呢 谢谢,Alter table是您需要的命令。一般来说,我在源代码管理中跟踪了数据库的更改,例如: 具有用于生成初始数据库的脚本的初始基线。这个步骤可以在开发和测试环境中根据需要执行,但在生产环境中,它几乎只是第一次执行 有一个delta脚本文件

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

在测试期间,如果我想更改数据库的结构,例如添加一个新列,我只需删除表并重新创建它们。我不想在一个实时系统上这样做。我怎样才能安全地做那样的事呢


谢谢,Alter table是您需要的命令。

一般来说,我在源代码管理中跟踪了数据库的更改,例如:

  • 具有用于生成初始数据库的脚本的初始基线。这个步骤可以在开发和测试环境中根据需要执行,但在生产环境中,它几乎只是第一次执行
  • 有一个delta脚本文件夹。从头开始生成数据库时,此文件夹中的脚本(以有意义的方式排序,如数字排序或带有日期时间戳)将在初始基线脚本之后运行。对于本例,它将是脚本中的
    altertable
    命令
从头开始创建数据库时,一切都按顺序运行。将更改应用于实时数据库时,只运行尚未运行的增量。(通过跟踪源代码管理的哪个版本在哪个环境中,跟踪哪些版本已经运行是一个操作过程。)


如果delta文件夹开始变得不可管理,我想您可以不时地重新设置创建脚本的基线。这可能是一个不错的主意,只是作为一个健全的检查,以确保在没有正确跟踪的情况下没有将内容引入系统。

我建议您编写一个简单的php脚本来更改测试数据库,而不是手动执行,并在生产(实时)数据库上使用相同的脚本

一定要记得先创建备份,以防出现问题

祝你好运