我已经将我的 symfony 项目部署到服务器上,现在我想更改里面的模型schema.yml
而不重置其他不相关的数据库表并保留当前数据。symfony 推进项目是否有任何差异/升级功能?
问问题
1969 次
2 回答
2
查看 sfPropelSqlDiffPlugin(可从插件存储库获得)。我已经使用它很长一段时间了,它对我来说效果很好。它并不完美(例如,它不能很好地处理非标准的东西,比如在你的模式中指定一个 sqltype),但它让我的生活变得更加轻松。
而不是信任插件来执行差异 SQL 的实际执行,我更喜欢这样做:
./symfony 推进:build-sql-diff
这会在您的数据目录中创建一个 SQL 文件,然后您可以在手动执行脚本之前对其进行检查/编辑。
于 2010-02-05T21:45:03.360 回答
1
您可以使用“propel:build-sql”命令生成 sql。结果是您可以自己导入的有效 SQL 文件。在我们非常大的项目中,我们只跟踪 SQL 本身。我们构建模型并生成 SQL。然后我们将新生成的 SQL 复制到包含我们版本的 SQL 的文件中。注意更改而不是创建表的 SQL,因为您必须自己手动更改该表。
Symfony afaik 无法做到这一点。
于 2010-02-05T19:55:12.880 回答