2

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

我正在使用带有 Doctrine2 的 Symfony 2 框架

4

1 回答 1

1

输出 SQL 并手动执行

您可以输出迁移的 SQL以在本地计算机上运行,​​然后从 Web 控制台(例如 phpMyAdmin)执行它。

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

" prod" 环境指向一个数据库,它的结构与你服务器上的结构是同步的。
在服务器上成功运行编译后的 SQL 后,只需重新运行相同的命令即可更新数据库的“本地”版本(不带--write-sql选项)

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

这将在不需要 SSH 的情况下更新您的远程数据库,并直接连接到 (My)SQL 服务器。

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

只需指向您的生产数据库

如果可能,只需指向您的“ prod”环境的生产/远程数据库。

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

但是大多数共享主机公司不允许你从外部连接直接连接到数据库,那么你就坚持上面提到的提议。

于 2016-08-03T08:30:44.063 回答