feat: Notes 新增创建时间/更新时间列,dnfs2 添加/更新时填入本地时间

- patch_002 存量补丁:created_at / updated_at DATETIME 列
- dnfs2 add_note 同时填入两个时间戳,update_note 只更新 updated_at
- 时间格式 local_now():"YYYY-MM-DD HH:MM:S"(本地时间)
This commit is contained in:
qing committed 2026-08-11 10:34:09 +00:00
1 parent d5047d27c7
commit 01c699e7a6
2 files changed
+30 -7

No files matched your search

@@ -0,0 +1,10 @@
-- 补丁 002:Notes 表新增创建时间 / 更新时间列
-- 数据库类型: SQLite
-- 依赖: create_sqlite3.sql(Notes 表已存在)
-- 幂等性: ADD COLUMN 为一次性迁移,重复执行会报 "duplicate column name",
-- 请按迁移编号顺序执行一次。
-- 创建时间(新增节点时由 dnfs2 填入本地时间)
ALTER TABLE Notes ADD COLUMN created_at DATETIME;
-- 更新时间(新增/更新节点时由 dnfs2 填入本地时间)
ALTER TABLE Notes ADD COLUMN updated_at DATETIME;
+20 -7
View File
@@ -89,6 +89,16 @@ static std::string utc_now() {
return buf;
}
static std::string local_now() {
auto now = std::chrono::system_clock::now();
std::time_t t = std::chrono::system_clock::to_time_t(now);
struct tm tmbuf;
localtime_r(&t, &tmbuf);
char buf[32];
std::strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", &tmbuf);
return buf;
}
static int safe_stoi(const std::string& s, const char* field_name) {
try {
size_t pos = 0;
@@ -1034,10 +1044,12 @@ private:
// 执行插入
json::object values;
values["pid"] = pid;
values["owner"] = info->user;
values["title"] = title;
values["content"] = content;
values["pid"] = pid;
values["owner"] = info->user;
values["title"] = title;
values["content"] = content;
values["created_at"] = local_now();
values["updated_at"] = local_now();
json::object payload;
payload["action"] = "insert";
@@ -1241,9 +1253,10 @@ private:
// 执行更新
json::object values;
values["pid"] = pid;
values["title"] = title;
values["content"] = content;
values["pid"] = pid;
values["title"] = title;
values["content"] = content;
values["updated_at"] = local_now();
json::object payload;
payload["action"] = "update";