jonpitch / laxative
一个用于简化数据转储的Codeception扩展
v1.0.0
2015-06-20 18:00 UTC
Requires
- php: >=5.4.0
- codeception/codeception: >=1.6.4
This package is not auto-updated.
Last update: 2024-09-28 18:15:56 UTC
README
这是一个Codeception扩展,可以轻松管理来自Db模块的数据转储文件。
它做什么
Laxative让管理Codeception Db模块的转储文件变得简单。对于数据模型快速变化的团队特别有用。Laxative通过始终从头开始,消除了开发者维护转储文件的需求。Laxative将使用开发者的本地代码库来创建一个全新的数据库进行测试。
最低要求
- Codeception 1.6.4
- PHP 5.4
使用Composer安装
$ composer require jonpitch/laxative
确保在下面的配置中启用扩展。
配置
所有启用和配置都在codeception.yml
中进行。
启用Laxative
extensions: enabled: - Codeception\Extension\Laxative config: Codeception\Extension\Laxative: backup: true|false backup_path: 'path/to/your/backup/file.backup' host: 'database host IP|URL' database: 'database-name' login: 'database-login' migrations: 'your migrate command' seed: 'your seed command'
创建一个空数据库
Laxative需要一个一致的开始点。最简单的方法是利用Codeception Db模块为我们完成。
- 创建一个空数据库
- 创建一个转储文件,例如:
pg_dump -h 192.168.10.10 -d my-database -U my-user
- 配置Codeception Db模块使用这个空数据库
可用选项
基本
backup: {backup}
- 启用备份和恢复在套件运行前后数据库。
- 默认:false
backup_path: {backup_path}
- 存储数据库备份的相对路径。
- 默认:
tests/_data/local.backup
host: {host}
- 数据库的位置。
- 示例:'192.168.1.10'
database: {database}
- 数据库的名称。
login: {login}
- 数据库用户登录。
migrations: {migrations}
- 执行数据库迁移的命令。
- 示例:'php artisan migrate'
seed: {seed}
- 向数据库填充数据的命令。
- 示例:'php artisan db:seed'
用法
一旦安装并启用,在启用Db模块的任何套件前后,Laxative将
- 备份您的本地数据库(如果启用)
- 使用Codeception Db从空数据库中恢复(见上文)
- 运行您的迁移命令
- 运行您的种子命令
- 重新配置Db模块以使用新的转储文件。
然后您的测试将从全新的数据库正常运行。如果您启用了backup
选项,当套件完成后,您的数据库将恢复到测试前的状态。
注意
- 目前,Laxative仅适用于Postgres。如果您需要其他东西,请提交一个pull request或发送电子邮件给我。