simonsimcity/couchbase-bundle

简化了在symfony2中处理couchbase设计文档的操作

安装次数: 1,334

依赖项: 0

建议者: 0

安全: 0

星标: 4

关注者: 3

分支: 1

公开问题: 0

类型:symfony-bundle

2.3.2 2017-03-13 17:51 UTC

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的服务提供)上对两个桶(foobar)的示例配置,桶名为couchbase.bucket.main_foocouchbase.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/\*.ddocapp/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文件中。