Symfony 原则PHPCR-ODM抛出“;传输不支持版本控制“;例外
在过去的几天里,我对Symfony 原则PHPCR-ODM抛出“;传输不支持版本控制“;例外,symfony,doctrine-phpcr,Symfony,Doctrine Phpcr,在过去的几天里,我对PHPCR以及如何使用它跟踪文档的版本非常感兴趣。不幸的是,由于某种原因,我似乎无法在PostgreSQL中使用原则 根据和的文档,simpleVersioning应该可以正常工作,但是当我尝试创建检查点时,我收到以下异常: Transport does not support versioning in vendor/jackalope/jackalope/src/Jackalope/Workspace.php at line 294 我有点困惑这里的问题是什么,为什么
PHPCR
以及如何使用它跟踪文档的版本非常感兴趣。不幸的是,由于某种原因,我似乎无法在PostgreSQL
中使用原则
根据和的文档,simpleVersioning
应该可以正常工作,但是当我尝试创建检查点时,我收到以下异常:
Transport does not support versioning
in vendor/jackalope/jackalope/src/Jackalope/Workspace.php at line 294
我有点困惑这里的问题是什么,为什么会失败?这是我的文件:
use Doctrine\ODM\PHPCR\Mapping\Annotations as PHPCR;
/**
* @PHPCR\Document(versionable="simple")
*/
class Task {
/**
* @PHPCR\Id()
*/
protected $id;
/**
* @PHPCR\String()
*/
protected $description;
/**
* @PHPCR\Boolean()
*/
protected $done = false;
/**
* @PHPCR\ParentDocument()
*/
protected $parentDocument;
/**
* @PHPCR\VersionName()
*/
private $versionName;
/**
* @PHPCR\VersionCreated()
*/
private $versionCreated;
/* Getters and setters for all fields... */
}
下面是我在控制器中使用的代码:
/**
* @var DocumentManager $dm
*/
$dm = $this->get('doctrine_phpcr')->getManager();
$rootTask = $dm->find(null, '/tasks');
$task = new Task();
$task->setDescription('Finish CMF project');
$task->setParentDocument($rootTask);
$dm->persist($task);
$dm->flush();
$dm->checkpoint($task);
$task->setDescription("Some new description");
$dm->persist($task);
$dm->flush();
看来我误导自己相信数据库支持这一点。此时,版本支持仅在使用jackrabbit时可用。功能支持列表可用