Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Yii2-一次从不同模块加载夹具_Yii2_Fixtures - Fatal编程技术网

Yii2-一次从不同模块加载夹具

Yii2-一次从不同模块加载夹具,yii2,fixtures,Yii2,Fixtures,我有几个模块中的装置,我希望能够立即加载它们。装置位于具有以下名称空间的模块中: backend\modules\currency\fixtures backend\modules\invoiceType\fixtures backend\modules\unit\fixtures ... 我知道我可以用这个命令从模块加载夹具 yii fixture * --namespace=backend\modules\currency\fixtures 此外,我知道我可以将所有名称空间放在globa

我有几个模块中的装置,我希望能够立即加载它们。装置位于具有以下名称空间的模块中:

backend\modules\currency\fixtures
backend\modules\invoiceType\fixtures
backend\modules\unit\fixtures
...
我知道我可以用这个命令从模块加载夹具

yii fixture * --namespace=backend\modules\currency\fixtures
此外,我知道我可以将所有名称空间放在
globalFixtures
中,但我认为这不是正确的方法

是否有任何方法可以进行一些配置,以便一次从所有指定模块加载所有装置


基本上,我正在寻找类似于
migrationPath
的迁移工具,但可以用于固定装置。

据我所知,您有3种方法可以做到这一点

使用
globalFixtures
我看不出这有什么不对。此功能正是为此而设计的

编写自定义脚本 您可以编写一个自定义脚本,使用一些配置数组运行几次
yii fixture*--namespace=

使用依赖项 您可以使用
yii\test\fixture::$depends
属性创建一个主设备或选择一个作为主设备,并使其依赖于所有其他设备。您可以在文档页面上阅读更多内容。看看他们在哪里给出了使用
$depends
的示例


希望其中一些能对您有所帮助。

据我所知,您有三种方法可以做到这一点

使用
globalFixtures
我看不出这有什么不对。此功能正是为此而设计的

编写自定义脚本 您可以编写一个自定义脚本,使用一些配置数组运行几次
yii fixture*--namespace=

使用依赖项 您可以使用
yii\test\fixture::$depends
属性创建一个主设备或选择一个作为主设备,并使其依赖于所有其他设备。您可以在文档页面上阅读更多内容。看看他们在哪里给出了使用
$depends
的示例


希望这些能对您有所帮助。

始终执行全局固定,并且我无法仅在给定模块中运行固定装置。“编写自定义脚本”-这是我现在正在做的,但我必须自己处理依赖项。如果两个模块需要相同的依赖关系,它们将执行两次。也许依赖项与“main”fixture是一种方法。@tsanschev脚本一更容易实现,但我相信依赖项是一种方法。我的意思是要么创建一个新的主版本,要么从现有版本中选择一个作为主版本,并让它依赖于所有其他版本。一切都依赖于一切是没有意义的。我将与yii团队一起解决这个问题,因为这是一个更普遍的“问题”。同样的问题不仅适用于装置,也适用于测试,即如何从所有模块运行所有测试:)我认为应该有一致的方法来处理迁移、装置,内部的测试modules@tsanchev是的,如果他们实现了一些关于这方面的东西,那就太好了。全局fixture总是被执行的,我不能在给定的模块中只运行fixture。“编写自定义脚本”-这是我现在正在做的,但我必须自己处理依赖项。如果两个模块需要相同的依赖关系,它们将执行两次。也许依赖项与“main”fixture是一种方法。@tsanschev脚本一更容易实现,但我相信依赖项是一种方法。我的意思是要么创建一个新的主版本,要么从现有版本中选择一个作为主版本,并让它依赖于所有其他版本。一切都依赖于一切是没有意义的。我将与yii团队一起解决这个问题,因为这是一个更普遍的“问题”。同样的问题不仅适用于装置,也适用于测试,即如何从所有模块运行所有测试:)我认为应该有一致的方法来处理迁移、装置,内部的测试modules@tsanchev是的,如果他们能实现这一点就好了。