添加全局规则以修改所有数据库插入的日期&更新

时间:2016-09-20 12:33:57

标签: mysql entity-framework datetime triggers database-schema

每当要将指定日期插入或更新到任何表中时,我都要求将规则添加到旧版MySQL 5.1.73数据库。 (每个字段都有一个默认日期设置,因此以某种方式使用它不是一个可行的解决方案。)

例如:

    IF NewDate = *TheSpecifiedDate* THEN SET NewDate = *ConstantDate*

对于具有一个或多个DateTime字段的所有表,此逻辑将相同。

我目前唯一的解决方案是手动为每个表添加触发器。这将需要做很多工作,如果需求发生变化,需要维护很多麻烦。

因此,无论何时在任何DateTime字段上尝试插入或更新,我都想知道是否可以以某种方式使这成为整个数据库的全球化规则/触发器?

或者是否有一种更优雅/首选的方式来实现这种甚至可能不涉及使用触发器的全局规则?

1 个答案:

答案 0 :(得分:0)

对于任何想要做类似事情的人来说,关闭这个......

我的方案中的主要限制是我正在慢慢迁移200多个遗留应用程序,因此在转换所有应用程序之前无法操纵遗留数据库行为或结构。我还需要复制一些现有的行为,无论我喜欢与否!

当我发布这个问题时,我使用EF6作为我的数据访问层。更改为EF Core 1.1.0后,我现在可以使用' HasDefaultValueSql'在我的表映射中设置,通过允许我在更新数据库时设置值来解决我的特定问题。