我在symfony插件世界中迈出了第一步,而且我有点儿 失去了......
我有一个带数据库的实时应用。通常,当我需要新表或 字段我通过更新我的schema.yml进行迁移,调用 generate-migration-diff和build --all-classes - 和 - 迁移symfony 命令。
今天,我需要安装一个插件(即sfCombinePlugin)才能 缩小我的js和css脚本。我通过symfony安装它 插件:安装命令,没关系我已经在插件中获取了所有文件 夹。我按照读书,它说建立模型,所以我运行 命令doctrine:build-model,并出现一个文件夹sfCombinePlugin 我的lib / model / doctrine文件夹。
但现在我卡住了,我需要在我的数据库中添加表格。在阅读中 我说它,通过doctrine:build-sql生成sql,然后运行 在我的数据库中生成了sql。但我看到一些问题......
是否会通过运行sql文件来清除我的数据?我很确定它会, 因为它从头开始创建数据库......
所以,我想像往常一样使用迁移。但是当我跑步的时候 generate-migration-diff,它没有考虑schema.yml 从插件文件夹。这是正常的还是一个错误?
我想过要复制schema.yml插件的内容 schema.yml app文件,但我不确定这是个好主意,因为 模型类不在sfCombinePlugin文件夹中,而是在 一般模型文件夹。这听起来不太好。
答案 0 :(得分:0)
build-sql
将只创建SQL文件; insert-sql
会覆盖数据库。当我像这样添加表时,我刚刚查看了data/sql
中生成的SQL并手动添加了表。 s2已经建立了迁移,IIRC。对于s1.4,请查看http://www.symfony-project.org/plugins/sfPropelMigrationsLightPlugin - 刚刚通过谷歌找到,我从未使用过它。