bonesmccoy / bongo-fixture-loader
简单的Mongo数据库 fixture 加载器
1.1.3
2016-05-24 14:30 UTC
Requires
- php: >5.4
- ext-mongo: *
- symfony/yaml: *
Requires (Dev)
- phpunit/phpunit: 4.8.*
This package is not auto-updated.
Last update: 2024-09-26 00:37:07 UTC
README
Bon(es)(mon)go fixture loader for mongodb.
我知道我正在重新发明轮子,但有时表现得像穴居人也很不错 ;)
安装
$ composer require-dev bonesmccoy/bongo-fixture-loader
配置
在 `/yourprojectRoot/config/bongo.yml`
中创建一个 yaml 文件
mongo_data_store: db_name: your_db_name host: localhost port: 27017 username: '' password: '' connect: true fixtures: paths: - path/to/fixture/from/project/root
在配置的路径下创建一个或多个 fixtures
<collectionname>: - object 1 - object 2 - object 3
特殊字段语法
- 获取 ObjectId(或 PHP 中的 MongoId)
"_id" : "<id@{24 CHARS HEX STRING}>
- 获取 DateTime 对象
"dateTimeField" : "<YYYY-MM-DD HH:mm:SS>" "dateField": "<YYYY-MM-DD>"
例如,一个论坛帖子列表,其中第一个是第二个的父级
posts: - {"_id" : "<id@56eb45003639330941000001>", "parentId" : "<id@56eb45003639330941000001>", "senderId" : 1, 'title' : 'title 1', 'body' : 'body content 1', 'date' : '<2016-03-04 12:00:00>' } - {"_id" : "<id@56eb45003639330941000002>", "parentId" : "<id@56eb45003639330941000001>", "senderId" : 2, 'title' : 'title', 'body' : 'body content 2', 'date' : '<2016-03-04 13:00:00>' }
将保存为
{ "_id" : ObjectId('56eb45003639330941000001'), "parentId: ObjectId('56eb45003639330941000001'), "senderId": 1, ... ... "date" : ISODate('2016-03-04 12:00:00') } { "_id" : ObjectId('56eb45003639330941000002'), "parentId: ObjectId('56eb45003639330941000001'), "senderId": 1, ... ... "date" : ISODate('2016-03-04 13:00:00') }
使用方法
加载 fixtures
$ bin/bongo-load /path/to/bongo.yml
要求
- PHP > 5.4
- mongo 扩展
- symfony/yaml