ここ数日、私は本当に興味を持っていてPHPCR
、Documents
. 残念ながら、何らかの理由Doctrine
でバージョン管理を機能させることができないようです。PostgreSQL
phpcrとdoctrineのドキュメントによると、simpleVersioning
問題なく動作するはずですが、作成しようとするとcheckpoint
次の例外が発生します。
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();