操作
機能 #368
完了機能 #340: [Phase 1] 非依存コア(パーサ/スキンIR/DB/タイミング)
ferrhythm-db: beatoraja songdata.db スキーマ完全互換化(folder/song/information・feature_* 全列)
機能 #368:
ferrhythm-db: beatoraja songdata.db スキーマ完全互換化(folder/song/information・feature_* 全列)
説明
目的¶
ferrhythm-db のスキーマを beatoraja フォーク(/workspaces/beatoraja)の songdata.db と完全互換にし、生成した DB ファイルを beatoraja と相互に読書できるようにする。
背景¶
#352 では Ferrhythm 自前スキーマ(folders/songs/scores/song_analysis、列名 radar_notes 等)でマージ済み。しかしユーザ要件「beatoraja songdata.db と完全互換」により、beatoraja フォークのスキーマ(folder/song/information(+score系)、列名 feature_notes_density 等・約 80 の feature_*/*_radar)を採用する必要がある。本チケットで #352 の自前スキーマを beatoraja 互換スキーマへ置換する。
スコープ(設計時に詳細確定)¶
- beatoraja の
folder/song/information(+必要な score 系) テーブル DDL をSQLiteSongDatabaseAccessor.javaに合わせて採用(列名/型/主キー/インデックス)。 -
songテーブルの6主軸+約 80 のfeature_*/feature_*_radar列、informationテーブルのn/ln/s/ls/total/density/peakdensity/enddensity/mainbpm/distribution/speedchange/lanenotes。 - #366 の計算出力(フル feature_* + information)を scan 時に書き込む配線。
- distribution/speedchange/lanenotes は beatoraja の直列化形式(base36 等)に合わせる。
- beatoraja が生成した実 songdata.db を読める・逆に beatoraja が読めることの検証。
- #352 の差分スキャン設計(path,size,mtime)は維持。
検証(コンテナ)¶
cargo test グリーン。beatoraja 生成の songdata.db とのスキーマ/値照合。
関連¶
操作