お使いのブラウザはサポート対象外です。

2021年09月23日(木) の日報

3

railsにpostgres専用の機能が追加されている

  • Merge PR #41487 · rails/rails@6d42731
    • deferrable foreign key constraintsの対応
    • 外部キー制約をつけると、子→親の順でレコードを作ることができない
    • が、deferredの設定にすると、トランザクション終了時に制約をチェックするようになるので子→親の順でレコードを作ることができる
    • べんり…な気もするけど↓のサンプルコードのようなことをやりたいシーンが思いつかないな
      • 普通に親→子の順でレコード作ればいい気がしてしまうぞ
Person.transaction do
  alias = Alias
    .create_with(user_id: SecureRandom.uuid)
    .create_or_find_by(name: "DHH")

  person = Person
    .create_with(name: "David Heinemeier Hansson")
    .create_or_find_by(id: alias.user_id)
end
  • PostgreSQL: support custom enum types · rails/rails@4eef348
    • postgresのemum型の定義がmigrationで書ける
    • 普通にモデルのenum定義でそれを使えるらしい(これはすでに7.0未満でもできるっぽい)
    • integerで書くより全然いいですね、となったけどenum typeを変更したい場合は現状SQLを直接書かないとだめっぽいなーとなっています
    • 既存のintegerで定義しているやつをシュッと移行できると嬉しいんだけど簡単にやるのは無理かな

awsで外形監視できるやつあるの知らなかった

puma5.5.0のlocalhost gem連携試してみた

  • puma 5.5.0で、開発中にhttpsを使うのが簡単にな… - savanna.io で書いたやつ
  • ゴニョゴニョしたらできたがバグっぽい挙動に遭遇して時間を溶かした
  • なぜか、設定ファイルのworkersの設定があるとエラーになる
  • 時間あったらコード眺めてPRだしたいが、なかったら解消されるの待ちかな…
  • nginxコンテナなくせるのはめっちゃ良いのでなんとかしたい

CiLogger 0.2.0 リリースした

  • ciが失敗したときだけログ出力するgemを作った - savanna.io で書いたやつ
  • ↑を公開したおかげでとあるプロジェクトでお試しで入れてもらい、エラー→直す→エラー直すのループを何週かした
  • あとそういやこの仕様おかしいな、というところを直したり細かいところを調整した
    • 今日一日で0.1.0->0.1.3->0.2.0までバージョンが上がった
  • おかげでこなれてきたぞ