simonsimcity / couchbase-bundle
简化了在symfony2中处理couchbase设计文档的操作
Requires
- ext-couchbase: ~2.2.0
- symfony/framework-bundle: ~2.6|~3.0
Suggests
- nickcuper/couchbase-stub: @dev
This package is not auto-updated.
Last update: 2024-09-14 14:26:21 UTC
README
此扩展包为Couchbase创建了Symfony2集成。它目前添加了命令,以便更轻松地自动化导入和导出存储在Couchbase中的设计文档,并将所有Couchbase操作添加到Symfony2性能分析器的时间线中。
此扩展包需要php-couchbase扩展的特定版本
| PECL版本 | CouchbaseBundle版本 | | --------|---------|-------| | 2.2.x | 2.3.x | | 2.1.0 | 2.2.0 | | 2.0.7 | <= 2.1.1 |
安装
将simonsimcity/couchbase-bundle
添加到您的composer.json
文件中
{ "require": { "simonsimcity/couchbase-bundle": "dev-master" } }
在您的Kernel中注册扩展包
<?php // app/AppKernel.php public function registerBundles() { $bundles = array( // ... new Simonsimcity\CouchbaseBundle\SimonsimcityCouchbaseBundle(), // ... ); }
要配置您的应用程序中要使用的couchbase-cluster,请根据需要调整扩展设置。以下是在本地集群(由名为couchbase.cluster.main
的服务提供)上对两个桶(foo
和bar
)的示例配置,桶名为couchbase.bucket.main_foo
和couchbase.bucket.bar
,其中第二个桶通过密码123
进行保护
simonsimcity_couchbase: cluster: main: dsn: http://127.0.0.1/ username: root password: foo buckets: main_foo: name: foo bar: name: bar password: 123
使用命令
您应该在symfony控制台中看到一些新方法
- couchbase:export-ddoc - 将存储在您的couchbase-cluster中的设计文档导出到文件
- couchbase:import-ddoc - 将保存为文件的文档导入到您的couchbase-bucket中
- couchbase:export-docs - 将存储在您的couchbase-bucket中的文档导出到文件
- couchbase:import-docs - 将保存为文件的文档导入到您的couchbase-bucket中
当从文件系统导入文档到数据库时,它还会检查您定义的目录是否也包含具有相同名称的目录。如果找到,该目录中的文档也会导入。如果设计文档目录的名称包含字符{connection}
,则它们将被所选的couchbase-connection名称替换。
更多功能即将推出...
设置
要使用couchbase:import-docs命令,您首先需要在名为sf2_couchbase_bundle
的文档中创建一个名为get_all_docs
的视图,其map函数如下所示
function (doc, meta) { emit(meta.id, null); }
示例用法
app/console couchbase:export-ddoc foo
将所有在couchbase-definition foo
中找到的设计文档保存到app/Resouces/foo/
目录中,文件扩展名为.ddoc
app/console couchbase:import-ddoc -e test foo
将app/Resouces/foo/\*.ddoc
和app/Resouces/foo/test/\*.ddoc
中找到的所有文件导入。我的建议是在test
目录中创建一个名为sf2_couchbase_bundle.ddoc
的文件,这样您就可以始终在测试环境中使用该视图。
app/console couchbase:export-docs foo data/
将所有foo
桶的文档导出到app/data/
app/console couchbase:import-docs foo data/
将所有扩展名为.json
的文件导入到您定义的foo
couchbase-bucket中
使用Couchbase性能分析器
您可以通过添加以下行来为每个Couchbase调用激活计时器
simonsimcity_couchbase: profiler_enabled: true
我的个人建议是将这些行添加到您的config_dev.yml
文件中。