現象
組み込みのゲーム資料にはエンティティ、別名、称号マッピングが含まれますが、起動のたびに変わるものではありません。同じシードデータを毎回取り込むと、検索結果が変わらないままシリアライズとデータベース処理を繰り返します。変更のない入力と新しい版を区別できる永続的な状態が必要でした。
対応
取り込み処理はシードレコードを安定した順序でシリアライズし、SHA-256 内容ハッシュを計算します。ハッシュとソースキーは取り込み状態として保存されます。次回、ソースとハッシュの両方が一致すれば、エンティティと別名の書き込み段階より前に skipped=True を返します。入力が変化した場合はトランザクションを実行し、新しい状態を保存します。
確認
対象テストでは最初の取り込みが省略されないこと、同じ入力による二回目が省略され保存状態も変わらないこと、称号マッピングを変更した三回目が再び実行され別ハッシュになることを確認します。実装順序は書き込み前の早期リターンを示しますが、テストは状態遷移を確認するもので、SQLite 書き込み回数を計測したとは記述しません。