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:
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
@@ -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";
|
||||
|
||||
Reference in new issue
Block a user