Mysql 如何在生产环境中更新数据库架构?
我在一个与远程存储库同步的项目中工作。我执行此命令以更新本地主机(开发环境)上的数据库: 但我在条令文档中读到,它不应该在生产环境中执行,所以我现在必须直接在生产数据库上执行SQL命令Mysql 如何在生产环境中更新数据库架构?,mysql,symfony,doctrine,Mysql,Symfony,Doctrine,我在一个与远程存储库同步的项目中工作。我执行此命令以更新本地主机(开发环境)上的数据库: 但我在条令文档中读到,它不应该在生产环境中执行,所以我现在必须直接在生产数据库上执行SQL命令 问题是我不确定我更改了哪些列,所以我正在寻找一种方法来了解这些数据库之间的差异。有什么想法吗?最好使用DB版本控制系统(条令/条令迁移包) 另一种方法-将数据库完全转储到开发环境,而不是 php app/console doctrine:schema:update --dump-sql 然后在dev env中的
问题是我不确定我更改了哪些列,所以我正在寻找一种方法来了解这些数据库之间的差异。有什么想法吗?最好使用DB版本控制系统(条令/条令迁移包) 另一种方法-将数据库完全转储到开发环境,而不是
php app/console doctrine:schema:update --dump-sql
然后在dev env中的live的简单更新模式上开始查询,然后清除所有缓存和project,然后点击您的项目url,以便保存新映射以供生产使用env@MKhalidJunaid-我不知道你有什么建议。“
schema:update
”更改了一些表,因此清除缓存是不够的。带有--force的update命令在生产环境中可以正常工作。只需先做一个备份,然后确保在备份后运行clearcache。@Cerad-以及为什么据说在生产环境中不使用它?我自己经常想知道这一点。传统?我总是会因为它警告你而咯咯笑,然后不管怎样,我都会继续这样做。如果真的很危险,你会认为它会给你一个“你确定”的提示。对生产站点的任何类型的更新都有导致问题的风险。我已经安装了条令迁移包
。您的意思是执行php应用程序/控制台原则:迁移:迁移
?是的,但您应该首先进行迁移以迁移?“进行迁移以迁移”?你能延长你的回答吗?我对这个包裹很陌生。。。我正在工作的项目是一个现有的项目,它似乎使用了这个迁移系统。
php app/console doctrine:schema:update --dump-sql