问题标签 [gedmo-loggable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
300 浏览

symfony - Sylius 禁用 Doctrine 日志记录到 ext_log_entries

我们正在开发一个Sylius 0.9版本,在该版本中我们进行了一些巨大的更改,覆盖了许多核心逻辑。这样做我们打破了一些有线logginghistory功能。

潜伏在代码中,这个功能似乎是基于Gedmo包提供的Doctrine orm 日志记录自动工作的

看起来对模型的任何更新的日志记录都在供应商的模型中声明。

我的问题是:

有没有办法禁用这种日志记录?

它污染了一个名为ext_log_entries每周大约 1'000'000 条记录的表,我不时手动截断它,因为我们没有使用此功能,而且我不想在我的数据库中白白浪费数百 MB .

0 投票
0 回答
147 浏览

symfony - Doctrine Loggable Integrity 约束违反:1048 列 'object_id' 在持久化新实体时不能为空

与学说 gedmo 可记录扩展和 stof 学说扩展有关的问题

config/doctrine/Tag.orm.xml

配置/包/stof_doctrineextensions.yaml

这有效(更新中)

这不(坚持)

其明显的可记录侦听器无法访问新对象 ID,或者试图在保留原始对象之前保留日志条目。我尝试调试似乎永远不会在持久化时调用LoggableListener'spostPersist方法,但在更新时有效。

0 投票
0 回答
252 浏览

php - 向 LoggableListener 添加额外选项

我使用 Loggable 来备份实体中的更改。默认AbstractLogEntry没有足够的列满足我的需要。这就是为什么我扩展了课程并添加了额外的 getter 和 setter。

请参阅下面的代码

扩展使用上面的类。所以它有效。

但现在我需要设置divisionId存储新版本的时间。

我尝试了下面的代码

这就是我得到的:

试图调用“Gedmo\Loggable\LoggableListener”类的名为“setDivision”的未定义方法。

那是真的,因为LoggableListener没有setDivision功能。我的问题是:我是否需要覆盖侦听器,如果需要,我该怎么做?

谢谢 ;)

0 投票
0 回答
158 浏览

symfony - 找不到类 LogEntry

在我使用 Symfony 4.2 和 API 平台开发的应用程序中,
我安装了DoctrineExtensions 包以使用 Loggable 扩展,
并按照Symfony 文档Loggable 扩展中的说明进行操作。

当我只使用一个 EntityManager 时,一切正常。
但我想将 LogEntry 实体表移动到另一个数据库。
因此,我创建了第二个 EntityManager,如Symfony 文档中所述。

之后,我在我的应用程序中修改了一个具有注释的实体,@Gedmo\Loggable
我收到了这个错误:
The class 'Gedmo\Loggable\Entity\LogEntry' was not found in the chain configured namespaces 'App\Entity'.

我的config/packages/doctrine.yaml文件:

我想观看的实体示例:

我试图添加和删除一些属性,doctrine.yaml但我总是得到同样的错误......

谢谢你的时间。

0 投票
1 回答
420 浏览

symfony - Gedmo Loggable 没有登录他的表“ext_log_entries”

我正在尝试使用 Gedmo\Loggable 记录实体的任何更改。这是我的实现:

在球场上

在我的教义.yaml 中:

当我更新该实体的字段时。Gedmo 的表“ext_log_entries”中没有插入任何日志,我是否遗漏了什么?

0 投票
1 回答
487 浏览

symfony - Gedmo Loggable 扩展:向条目添加新列

我有一个包含产品和属性的应用程序。在后台我想跟踪属性值的变化。我开始使用 gedmo 的可记录扩展,它工作正常,但现在我想在产品 ID 的日志条目表中添加一个新列。我知道如何通过在属性表中添加注释来为日志创建自定义实体:

但我不知道是否有可能扩展 Gedmo 侦听器以在日志条目表中记录 product_id

0 投票
0 回答
949 浏览

php - gedmo 可记录不保存在数据库中

当我使用 gdmo-loggable 更新我的实体时,我想注册日志,该表存在但没有人注册。

这是我当前的代码

在遵循doc的说明并在网络上搜索后,我在 symfony 项目(3.3)中的学说扩展中遇到了 gedmo 的问题。当我更新我的实体时,表 ext_log_entries 中没有日志数据。我的事件优先级可能什么也没抓住,因为它的优先级等于 0 ?如果有人有想法,那将很有帮助。

0 投票
1 回答
558 浏览

php - Symfony 5 中的 Doctrine Gedmo-Extension (Timestampable, Softdeletable ...) 有替代品吗?

使用之前的 Symfony 版本(<5),可以在创建或更新现有条目时自动填充 DateTime 字段。

例子:

如果将这些注释应用于 Symfony5 项目中的实体,这些注释似乎没有任何效果。是否已发布 Gedmo 扩展的替代品,或者是否有解决方法可用于避免手动设置具有当前时间戳的数据字段?

0 投票
0 回答
9 浏览

php - 添加新版本字段后如何更新 gedmo 表以填充历史记录

我正在使用 php / symfony / 学说将数据更改存储在我的数据库(mariadb)中。
该程序几年来一直运行良好,但现在我们希望另一个字段由 gedmo 进行版本控制。我在实体字段之前
添加了注释,效果很好。* @Gedmo\Versioned

但现在我想更新数据库中的旧 gedmo 数据,以将这个新字段包含在我的历史记录中。

有谁知道可以更新每个对象的第一个版本以包含我的新版本字段的当前值的 SQL 查询(或任何其他技巧)?

我尝试手动更新它并且效果很好,但是我不想在不破坏所有内容的情况下对所有行进行自动化。

我手动执行的 ext_log_entry 表的数据字段更改示例:
之前: a:7:{s:4:"code";s:10:"STA0-16890";s:7:"0-16890";s:9:"prixAchat";d:15.79;s:9:"prixVente";d:15.79;s:7:"prixTSQ";N;s:9:"remiseTSQ";N;s:6:"remise";d:0;s:12:"prixVenteTSQ";N;}

后 :

a:8:{s:4:"code";s:10:"STA0-16890";s:14:"refFournisseur";s:7:"0-16890";s:9:"prixAchat";d:15.79;s:9:"prixVente";d:15.79;s:7:"prixTSQ";N;s:9:"remiseTSQ";N;s:6:"remise";d:0;s:12:"prixVenteTSQ";N;}

此手动更改可以解决问题:
之前: 在此处输入图像描述

后 : 在此处输入图像描述

在此先感谢您的帮助