我正在寻找有关生产环境中MySQL数据库部署策略的想法。
我的情况如下:
一个想法是在转储中创建表,后缀为_new,然后使用mysql RENAME命令交换表。但是我不确定与这种方法有关的问题。mysql手册说RENAME仅在没有事务锁定的情况下才起作用,并且使用RENAME命令会导致删除新交换表上的所有约束,该命令如下所示。
rename table foo to foo_old, foo_new to foo;
我正在考虑的其他想法是,如果有一些功能可以创建架构别名,并且在部署期间,我可以从原始架构创建一个全新的架构,然后将别名指向新架构,这看起来风险较小,但不确定MySQL是否支持这个。
关于此的任何想法和参考都将非常有帮助,谢谢!