根據目前的[資料庫設計文件](https://hackmd.io/@sessatakuma/HyfsM4YQZe),影片時間偏移(`StartTime` / `EndTime`)使用了 `float64` 型別。 **問題點:** 浮點數運算誤差會造成 overlap 計算錯誤、排序不一致以及區間查詢發生 bug。在 DB 層面,`1.0000001` 與 `1.0` 會被視為不同值。 **建議與 Todo:** - [ ] 評估將欄位改為 `Int`,並以毫秒為單位儲存(例如命名為 `start_ms` / `end_ms`)。 - [ ] 若必須保留 `Float`,需在文件與 Schema 中明確標示單位與精度範圍。 - [ ] 更新資料庫設計文件並執行對應的 Migration。 *(先紀錄此問題並暫時列為 TODO,待後續處理)*
根據目前的資料庫設計文件,影片時間偏移(
StartTime/EndTime)使用了float64型別。問題點:
浮點數運算誤差會造成 overlap 計算錯誤、排序不一致以及區間查詢發生 bug。在 DB 層面,
1.0000001與1.0會被視為不同值。建議與 Todo:
Int,並以毫秒為單位儲存(例如命名為start_ms/end_ms)。Float,需在文件與 Schema 中明確標示單位與精度範圍。(先紀錄此問題並暫時列為 TODO,待後續處理)