我正在尝试教义:generate-migrations-diff,symfony似乎忽略了dirs lib\model\doctirne\PLUGINNAME
中的文件 - 并创建了删除插件表的迁移。
我正在尝试执行doctrine:build --all-classes - 在错误的位置创建文件(表单和过滤器) - lib\filter\doctrine
和lib\form\doctrine
- 但不应该在哪里 - lib\filter\doctrine\PLUGINNAME
(有插件文件(被忽略))。
我正在尝试,例如,在插件中编辑schema.yml
MODELNAME
并生成模型 - 模型不生成,没有更改,但应在{{BaseMODELNAME.class.php
中编辑文件lib\model\doctrine\PLUGINNAME
1}}目录
此外,并非所有插件都可以跟踪此类行为。对于sfDoctrineGuardPlugin(以及我的几乎所有插件)一切正常。对方案的任何更改(在插件方案中)都将反映在预期的文件中。
但对于插件sfGuardUserLoginHistory和PBillingPlugin(我的插件),一切都如上所述。
我不知道问题出在哪里。在linux上一切都还可以。
答案 0 :(得分:1)
问题发生在我的多个应用项目中:
我的项目中有五个应用程序:
api应用程序有自己的已启用插件配置:
class apiConfiguration extends sfApplicationConfiguration
{
public function setup()
{
parent::setup();
$this->plugins = array();
$this->pluginPaths = array();
$this->enablePlugins(array(
'sfDoctrinePlugin',
'sfDoctrineGuardPlugin',
//'PAPIClientPlugin', //needed?
));
}
public function configure()
{
}
}
为什么是api?它按字母顺序排在文件列表的第一位。并且api配置会覆盖其他设置,因此symfony会认为他只有两个已启用的插件(sfDoctrinePlugin和sfDoctrineGuardPlugin)而不是其他插件,并且会在全局文件夹中生成模型和内容(如上所述)。
答案 1 :(得分:1)
Linux下的相同问题。
这是一种解决方法:
在symfony命令行中指定应用程序参数,例如:
./symfony doctrine:generate-migrations-diff --application="YOUR_APP_NAME"
./symfony doctrine:build --model --application="YOUR_APP_NAME"
YOUR_APP_NAME
应该是您的主要应用,即。后端或其他一些......
这个技巧对我有用。