Skip to content

Instantly share code, notes, and snippets.

@codinggirl codinggirl/a.md
Created Oct 11, 2018

Embed
What would you like to do?

重建 Ghost 日期数据库的新解决方案

BlackGlory on Ghost 27 September 2016

上一篇的手动重建 Ghost 日期数据会造成额外的问题. 现在我们有了一种新的解决方案, 由 Github 的 kirrg001 提出, 亲测有效.

解决方案的原文在这里 https://github.com/TryGhost/Ghost/issues/7351#issuecomment-249807585.

步骤

  1. 备份你的数据库文件
  2. sqlite3 ghost.db
  3. SELECT created_at from users where id=1;
  4. 记录输出内容(应为2014-08-12 16:53:27格式的文本), .quit 退出.
  5. 打开 node, 运行 require('moment').utc('2014-08-12 16:53:27').valueOf(), 记录结果(把2014-08-12 16:53:27换成你在步骤 4 得到的输出内容).
  6. 记录输出内容(应为 UNIX 时间戳)
  7. 在 sqlite3 执行 UPDATE users set created_at=YOU_VALUE where id=1, 用你在步骤 6 得到的输出内容替换YOU_VALUE
  8. 停掉你的 Ghost 服务器
  9. 执行FORCE_MIGRATION=true npm start --production让 Ghost 在启动时强制进行数据库升级.
  10. 等待升级完毕, Ctrl + C 中断 Ghost 服务器运行.
  11. 用原来的启动方式启动 Ghost, 现在日期数据应该已经被重建了.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.