HRRで主キー、外部キーごとに新しく型を割り当ててみた(雑)
HRRで型安全なクエリをかけるので大満足生活だが、主キー・外部キーがすべて同じ型(Int64等)になってしまっている状況では注意力が必要だと感じた。 どのカラムも型割り当ててもよいのだが、特に次の理由で、 query作成時に指定することが多いはずなため 関連していないidは比較できないと考えて良かったため 前置き 雑なコード生成で殴ってます。 コード生成良くないが、hrr使ってる関連では既にTableごとのモジュールのコード生成を行ってたので、考えることをやめた。 実装内容 shell scriptでpostgresのinformation_schemaへの問い合わせを使い次のようなコードを生成した。 PKごとにnewtypeを定義を生成 カラムごとに型を割り当てるため、getFieldsWithMapの挙動の一部を上書きする関数を生成 pkごとにnewtype生成する例.sh query=$(cat < »