如何将数据库从测试服务器同步到生产服务器
答
这取决于你可以如何允许两个数据库。
一种配置可能是将two databases replicated的生产服务器配置为主配置,将测试服务器配置为从服务器。除非您绝对需要将实时数据与测试基础架构同步,否则我会谨慎使用此方法,请勿沿此路线前进。
相反,如果要保持两个实例分开,只需要replicate with mysqldump
s。
答
我版本控制SQL转储(由mysqldump
所作)。我发现它通常是一个很好的便携式格式。
某些平台具有像Django's Fixtures这样的概念,它们将模型数据转储为JSON或XML文件,以便您可以将其版本控制到服务器或从服务器进行控制,并在需要时将其加载。你是否有这样的可用取决于你的平台。
您正在讨论在生产环境中获取实时版本。如果我是你,我会接近临近。 Cron在服务器上创建一个转储脚本,并编写一个脚本将其引入您的生产环境或仅依靠版本控制。
任何超过临近生命的东西都可能是双向的,并且存在实时数据风险。
答
我们执行所有数据库开发脚本,包括将查询记录添加到查找表的脚本。这些脚本在源代码控制中,并像其他任何代码一样进行版本控制。要将更改从dev发送到prod,我们运行该版本的脚本。这将包括查找类型表所需的任何更改以及表结构更改,sps,用户定义的函数,视图等等。即使没有脚本(我们有一个配置管理团队不会影响开发人员),它也不能被剥夺,对于使用脚本或源代码控制的人来说,我们没有任何问题。
要从prod回到dev,我们重新启动最后的prod备份,然后重新运行尚未提升为prod的开发脚本。
不应该有一个没有主键的表! – HLGEM 2010-06-29 19:52:19