v0.6.0

資料庫指令

以 kura add、kura list、kura edit 與 kura remove 註冊、列出、重新命名與移除 KuraDB 資料庫。

新增資料庫

kura add my_docs

第一個 argument 會作為名稱。連續空白會轉成底線;空白結果會以狀態碼 2 拒絕。Command 也會拒絕已在 registry 中的名稱或已存在的目標目錄。

成功後會建立:

~/.config/kuradb/my_docs/inbox/
~/Kura_my_docs -> ~/.config/kuradb/my_docs/inbox/

接著在 db.json 新增帶 UTC 建立時間的 entry,並印出目錄與連結路徑。執行中的 daemon 不會熱載入新資料庫,因此搜尋前必須重新啟動。

列出資料庫

kura list

每一行包含資料庫名稱與 UTC RFC 3339 建立時間,以 tab 分隔。空 registry 會印出 (no registered db)。

kura list 只讀 registry。若要查看執行中的 daemon 實際載入了哪些資料庫,請使用 GET /api/list;它會同時回傳 registered 與 loaded collection。

重新命名資料庫

kura edit my_docs my_archive

Command 以與 add 相同的方式清理兩個名稱,接著:

  1. 新舊名稱相同時印出 noop 並結束。
  2. 拒絕未註冊的舊名稱、已註冊的新名稱,或已存在的目標目錄。
  3. 重新命名資料庫目錄。
  4. 移除舊的 ~/Kura_<old> symlink 並建立 ~/Kura_<new>;symlink 失敗只會回報,不會中斷 rename。
  5. 更新 registry entry。

Daemon 會保留啟動時建立的 database map,因此 rename 前應先停止 daemon,完成後再啟動。

移除資料庫

kura remove my_archive

移除前會印出 database directory 與 symlink,並要求輸入完全相同的 yes。其他 response 會印出 aborted 且不做任何變更。確認後會永久移除 database directory;home path 只有在 symlink 時才會刪除(該處若是一般檔案或目錄,會略過並印出警告),最後刪除 registry entry。

此 operation 會刪除權威 SQLite database。確認前請先備份需要的資料。

EN