php - 使用外部 SQL 数据库使 Doctrine 实体保持最新

标签 php mysql symfony doctrine-orm doctrine

我有一个连接到多个数据库的 Symfony 项目。但是,我只有其中之一的 ALTER 访问权限。

目前,为了使我的 Doctrine 实体与数据库保持同步,我必须执行doctrine:schema:update --dump-sql,然后对我的实体执行相反的操作。

例如如果doctrine:schema:update --dump-sql给了我 ALTER 表名 DROP 列名 我转到 TableName 实体并添加一个 columnName 属性。

doctrine:schema:import 似乎只在第一次起作用。即使删除所有 .xml 文件后

还有什么我可以做/用来保持同步而不是手动的吗?

最佳答案

尝试使用此 Doctrine 工具通过逆向工程从数据库中创建实体:

首先,您需要使用以下方法创建 XML 元数据文件:

php bin/console doctrine:mapping:import --force AcmeBlogBundle xml

然后,使用它从 XML 文件创建实体:

php bin/console doctrine:mapping:convert annotation ./src
php bin/console doctrine:generate:entities AcmeBlogBundle

http://symfony.com/doc/current/doctrine/reverse_engineering.html

关于php - 使用外部 SQL 数据库使 Doctrine 实体保持最新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43930388/

相关文章:

mysql - 如何汇总从起始月份到当前每月的记录

php - 使用 Symfony 和 FOSRestBundle 保存多对一关系

PHP echo 函数更改 html 输出的顺序?

php - Laravel ClassLoader 包含一个不正确/旧的文件

php - 搜索具有可点击结果的用户,点击后将直接转到其个人资料

mysql - Laravel 编写一个查询来查找是否在日期启用了访问

symfony - 在 Symfony2 中包含来自包的资源的正确方法

php - 使用 FOS 用户包为自定义用户类型创建用户

php - PHP的上传进度功能真的有效吗?

php - Symfony 自定义表单约束将错误写入父表单