Yii 2测试数据库的迁移

10
我看不出一个清晰的方法来做到这一点,尽管我可以在文档中多次看到它被重申,特别是:

使用 yii 迁移工具将您的测试数据库升级到最新版本;

发现在http://www.yiiframework.com/doc-2.0/guide-test-fixture.html#summary(只是举个例子)
无论我如何配置我的`tests/unit`文件夹中的`_console.php`和`_config.php`,如果我运行迁移工具,它都会拾取主应用程序数据库。
$ cd tests/unit
$ ../../yii migrate/up
Yii Migration Tool (based on Yii v2.0.0-dev)

No new migration found. Your system is up-to-date.

是的,测试数据库已经正确配置(运行测试将抛出错误,表示没有表)。 我显然可以自己创建数据库结构,但这一切都是为了让这个功能正常工作。 我目前正在使用通过Composer安装的 Basic 应用程序。

只是为了明确,我也不清楚通过运行“yii migrate/up --db=X”来命名测试数据库的方法。 - Mr Peach
3个回答

20

[编辑] 更新了答案以反映Yii2的当前版本

我只是发布正确的答案,因为我自己找到了它,而且我感到有点愚蠢,因为它就在我的眼前。

在测试文件夹目录中还有另一个yii命令行,这意味着您可以轻松执行以下操作:

$ cd tests/codeception/bin
$ chmod a+x yii
$ yii migrate/up

它将自动使用您在 tests/codeception/config/config.php 中指定的数据库。

享受吧


17

在Yii2中,只需使用yii_test migrate即可进行迁移。


这似乎是最好的答案。 - Raul Sauco

3

要在Yii2中为测试数据库应用迁移,请在项目目录中运行以下命令:

php tests/bin/yii migrate

就我所看到的,这只是创建迁移表,那用户表怎么办呢? - dataskills

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接