資料庫指令
以 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 相同的方式清理兩個名稱,接著:
- 新舊名稱相同時印出
noop並結束。 - 拒絕未註冊的舊名稱、已註冊的新名稱,或已存在的目標目錄。
- 重新命名資料庫目錄。
- 移除舊的
~/Kura_<old>symlink 並建立~/Kura_<new>;symlink 失敗只會回報,不會中斷 rename。 - 更新 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。確認前請先備份需要的資料。