Symfony 1.4.4 - Doctrine 迁移和插件安装

发布于 2024-12-12 08:10:54 字数 738 浏览 0 评论 0原文

我在 symfony 插件世界迈出了第一步,我有点 丢失了...

我有一个带有数据库的实时应用程序。通常,当我需要一张新桌子或 字段我通过更新我的 schema.yml 进行迁移,调用 生成迁移差异并构建 --all-classes --and-migrate 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 应用程序文件,但我不确定这是一个好主意,因为 模型类不会位于 sfCombinePlugin 文件夹中,而是位于 通用模型文件夹。而且听起来不太好。

I make my first steps in the symfony plugin world, and I'm a bit
lost...

I have a live app with a database. Usually, when I need a new table or
field I do a migration, by updating my schema.yml, calling the
generate-migration-diff and build --all-classes --and-migrate symfony
commands.

Today, I need to install a plugin (i.e, sfCombinePlugin) in order to
minify my js and css scripts. I installed it via the symfony
plugin:install command, it's ok I've got all my files in the plugins
folder. I follow the read-me, it says to build the model, so I run the
command doctrine:build-model, and a folder sfCombinePlugin appears in
my lib/model/doctrine folder.

But now I'm stuck, I need to add the table in my database. In the read-
me it says, to generate the sql via doctrine:build-sql, and run the
generated sql in my database. But I see some issues coming...

Will it erase my data by running the sql file? I pretty sure it will,
because it create the database from scratch...

So, I would like to use a migration, as I do usually. But when I run
the generate-migration-diff, it doesn't take in account the schema.yml
from the plugin folder. Is it normal or is it a bug?

I've thought of copying the content of the schema.yml plugin inside
the schema.yml app file, but I'm not sure this is a good idea, because
the model classes will not be in the sfCombinePlugin folder but in the
general model folder. And it sounds not good.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

陌若浮生 2024-12-19 08:10:54

build-sql 只会创建 SQL 文件; insert-sql 将覆盖数据库。当我像这样添加表时,我只是在 data/sql 中查看生成的 SQL 并手动添加表。 s2 内置了迁移,IIRC。对于 s1.4,请查看 http://www.symfony-project.org/plugins/sfPropelMigrationsLightPlugin - 刚刚通过谷歌找到,我从未使用过它。

build-sql will just create the SQL files; insert-sql would overwrite the database. When I do table adding like this, I have just looked in the generated SQL in data/sql and added the tables by hand. s2 has migrations built in, IIRC. For s1.4 check out http://www.symfony-project.org/plugins/sfPropelMigrationsLightPlugin - just found via google, I've never used it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文