tebazil / yii1-db-seeder
PHP 数据库 Seeder 库的 Yii1 适配器
0.0.0
2015-10-16 20:51 UTC
Requires
This package is not auto-updated.
Last update: 2024-09-14 18:21:15 UTC
README
Yii2 Db Seeder 是 Php db seeder 的 Yii1 适配器,它是一个用于快速填充数据库假数据的工具。
安装
安装此扩展的首选方式是通过 composer。
运行以下命令
$ composer require tebazil/yii1-db-seeder
或添加以下内容到您的 composer.json
文件的 require
部分。
"tebazil/yii1-db-seeder": "*"
快速开始
您可以使用类似以下方法快速使用生成数据填充数据库
$seeder = new \tebazil\yii1seeder\Seeder(); $generator = $seeder->getGeneratorConfigurator(); $faker = $generator->getFakerConfigurator(); $seeder->table('article')->columns([ 'id', //automatic pk 'book_id', //automatic fk 'name'=>$faker->firstName, 'content'=>$faker->text ])->rowQuantity(30); $seeder->table('book')->columns([ 'id', 'name'=>$faker->text(20), ])->rowQuantity(30); $seeder->table('category')->columns([ 'id', 'book_id', 'name'=>$faker->text(20), 'type'=>$faker->randomElement(['shop','cv','test']), ])->rowQuantity(30); $seeder->refill();
请参阅 Php db seeder 以获取更多使用说明。
与原始库的差异
- 在
Yii1 Db Seeder
中,默认情况下您无需提供数据库配置,它使用Yii::app()->db
来检索连接信息。您可以可选地向 Seeder 提供一个数据库连接组件名称。这样做
$seeder = new \tebazil\yii1seeder\Seeder('db2');
现在 Seeder 会使用 Yii::app()->db2
。
-
您可以使用标准的 Yii 通配符来处理前缀表名,例如
{{table_name}}
。 -
Yii1 的
Migration
类用作数据库抽象层,而不是本地数据库助手。这基本上意味着您可以与 Yii1 支持的所有数据库一起工作。
最佳使用实践
- 创建您的项目数据库,使用 gii 生成一些模型和 CRUD。
- 创建一个控制台应用程序控制器,用于填充测试数据到数据库的动作。
- 在需要时运行它
=> 您的项目数据库中有测试数据,这使开发更容易,并且更容易向客户展示正在发生的事情
- 如果您使用迁移,不要混淆迁移保留项目历史记录的事实,以及
db-seeder
与它们无关 - 迁移和播种是两种不同的工具。迁移是一个长期工具,用于随着时间的推移操作数据库结构并保留历史记录,而数据库播种是一个简单的库,用于保持测试数据最新。因此,当出现新的迁移时,只需修复填充数据库的控制台命令以保持最新即可。 - 在项目开发的早期阶段,当每次提交时运行此工具(在应用迁移后立即运行)非常有用
- 在项目开发的后期阶段,持续的测试数据填充可能会破坏测试,因此建议手动填充所需表(通常是新创建的表 - 以测试新事物)