Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何在生产环境中更新数据库架构?_Mysql_Symfony_Doctrine - Fatal编程技术网

Mysql 如何在生产环境中更新数据库架构?

Mysql 如何在生产环境中更新数据库架构?,mysql,symfony,doctrine,Mysql,Symfony,Doctrine,我在一个与远程存储库同步的项目中工作。我执行此命令以更新本地主机(开发环境)上的数据库: 但我在条令文档中读到,它不应该在生产环境中执行,所以我现在必须直接在生产数据库上执行SQL命令 问题是我不确定我更改了哪些列,所以我正在寻找一种方法来了解这些数据库之间的差异。有什么想法吗?最好使用DB版本控制系统(条令/条令迁移包) 另一种方法-将数据库完全转储到开发环境,而不是 php app/console doctrine:schema:update --dump-sql 然后在dev env中的

我在一个与远程存储库同步的项目中工作。我执行此命令以更新本地主机(开发环境)上的数据库:

但我在条令文档中读到,它不应该在生产环境中执行,所以我现在必须直接在生产数据库上执行SQL命令


问题是我不确定我更改了哪些列,所以我正在寻找一种方法来了解这些数据库之间的差异。有什么想法吗?

最好使用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