我在 symfony 插件世界中迈出了第一步,但我有点迷茫……
我有一个带有数据库的实时应用程序。通常,当我需要一个新表或字段时,我会通过更新我的 schema.yml、调用 generate-migration-diff 和 build --all-classes --and-migrate symfony 命令来进行迁移。
今天,我需要安装一个插件(即 sfCombinePlugin)来缩小我的 js 和 css 脚本。我通过 symfony plugin:install 命令安装了它,没关系,我的所有文件都在 plugins 文件夹中。我按照自述文件,它说要构建模型,所以我运行命令教义:构建模型,文件夹 sfCombinePlugin 出现在我的 lib/model/doctrine 文件夹中。
但现在我被卡住了,我需要在我的数据库中添加表。在自述文件中它说,通过教义:build-sql 生成 sql,并在我的数据库中运行生成的 sql。但我看到一些问题来了...
它会通过运行 sql 文件来擦除我的数据吗?我很确定它会,因为它从头开始创建数据库......
所以,我想像往常一样使用迁移。但是当我运行 generate-migration-diff 时,它没有考虑到插件文件夹中的 schema.yml。这是正常的还是错误的?
我曾想过将 schema.yml 插件的内容复制到 schema.yml 应用程序文件中,但我不确定这是一个好主意,因为模型类不会在 sfCombinePlugin 文件夹中,而是在通用模型中文件夹。而且听起来不太好。