0

我有一个 DBFlow v3/4 的问题,我的触发器正在读取一个 SQLite 短语作为字符串而不是核心 SQLite 语法,并将其插入到我之后的调整时间戳的位置。

这种方法在 DBFlow v2 中运行良好,尽管旧库方法的“更新”语法略有不同。

public static CompletedTrigger createdTimestampTrigger(Class modelClass) {

  String sqlTimeInMSecs = "CAST(strftime('%s','now') AS INTEGER * 1000)";

  Condition createdAt = Condition.column(NameAlias.builder("createdAt").build()).eq(sqlTimeInMSecs);
  Condition updatedAt = Condition.column(NameAlias.builder("updatedAt").build()).eq(sqlTimeInMSecs);

  return Trigger.create("CreatedAtTriggerOn" + modelClass.getSimpleName())
        .after().insert(modelClass).begin(new Update<>(modelClass)
                .set(createdAt, updatedAt)
                .where(Condition.column(NameAlias.builder("createdAt").build()).isNull()));
}

我的问题本质上是如何构建触发器以使用该sqlTimeInMSecs短语?这是我使用上述触发器插入时发生的情况......

来自 DB Browser for SQLite 的 SCreengrab

4

0 回答 0