1

ここ数日、私は本当に興味を持っていてPHPCRDocuments. 残念ながら、何らかの理由Doctrineでバージョン管理を機能させることができないようです。PostgreSQL

phpcrdoctrineのドキュメントによると、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();
4

1 に答える 1