从所有迁移文件 symfony 学说生成一个迁移?

Generate one single migration from all migration files symfony doctrine?

我的网站托管在共享服务器上,因此我无法 运行 迁移命令,因为我无权访问 ssh。 有什么方法可以从开发过程中生成的所有迁移文件生成一个 migration/sql 文件,以便我可以轻松地 import/execute 手动?

我正在使用 Symfony 2 框架和 Doctrine2

输出SQL并手动执行

您可以在本地计算机上 output the SQL of the migrations 到 运行,然后从网络控制台(例如 phpMyAdmin)执行它。

php app/console doctrine:migrations:migrate --write-sql -e prod

其中“prod”环境指向一个数据库,其结构与您服务器上的数据库同步。
一旦你在你的服务器上成功 运行 编译了 SQL ,只需重新 运行 相同的命令来更新你的 "local" 版本的数据库(没有 --write-sql选项)

php app/console doctrine:migrations:migrate  -e prod

这将更新您的远程数据库,无需 SSH,直接连接到 (My)SQL 服务器。

下次数据库更改时;重复...

只需指向您的生产数据库

如果可能,请指向您的“prod”环境的 production/remote 数据库。

database_host: <your-website-domain>
database_port: 3306 #default
database_name: <your-database-name>
database_user: <your-database-user>
database_password: <your-database-password>

但是大多数共享托管公司不允许您从外部连接直接连接到数据库,那么您就只能坚持上述提议。