Это немного глупо, но я должен делать то, что требуется, я думаю.
Я не проверял это, но я понимаю, что если вы делаете обновление dql () Versionable не запускается.
Вот так
$result = $this->createQuery()
->update('MyOrder m')
->set('m.status', $var)
->execute();
Но если вы получите объект, измените его и сохраните таким образом:
$m = MyOrderTable::getInstance()->findOneById($id);
$m->setShippingPrice($price);
$m->save();
Тогда Versionable будет запущен, поэтому вы должны получить новую версию.
Так что вы можете использовать это для решения проблемы.