ON CONFLICT DO NOTHINGの排他制御は「一度きり」にしか効かない: TTL付きUPSERTで直す
2026年10月8日
`INSERT ... ON CONFLICT DO NOTHING` による排他制御は、TTL付きキャッシュと組み合わせると「一度きりのイベント」にしか効かず、キャッシュ切れ後の再実行で永遠に失敗し続ける落とし穴がある。この記事では、実運用で踏んだその問題と、TTLを条件にした条件付きUPSERTによる解決策をコード例とともに解説します。
CIのクリティカルパスを壊さずにsqliteで時系列メトリクスを蓄積する設計
2026年10月1日
CIホストのようなインフラでは、「ジョブの取得・解放」や「死活監視」といったクリティカルパスに手を加えるのはとてもリスクが高い作業です。ログに障害の兆候を出力するだけなら簡単ですが、「Dockerイメージの容量が右肩上がりになっていないか」「同時実行の枠が足りているか」といったトレンドを判断するには、時系列で数値を蓄積する仕組みが必要になります。
SQLite/Cloudflare D1 で boolean カラムを設計するときの定石
2026年5月10日
SQLiteにはBOOLEAN型がありません。INTEGER + NOT NULL + DEFAULT + CHECK制約を組み合わせた4要素の定石と、TypeScriptでの0/1↔boolean変換の実装例を解説します。



