goen
以下の不具合を修正しました: Update/Delete操作時に、RowKeyがnilのとき、パッチからクエリが生成されていなかった Many to Oneのforeign keyを指定したフィールドに対して、参照先エンティティが存在しないとき、IncludeLoaderでpanicすることがある いず…
BulkCompilerに対して、MaxChunksが指定できるようになりました。 これまでは大量のプレースホルダを持つクエリを生成したとき、クエリ実行時にエラーになっていました。 package main import ( "database/sql" "fmt" "github.com/kamichidu/goen" _ "github…
goen.Loggerを手軽に作成するためのユーティリティ関数を追加しました。 以下のように利用することができます。 import "github.com/sirupsen/logrus" dbc := goen.NewDBContext(...) dbc.Logger = goen.LoggerFunc(logrus.Trace)
TxScopeで実行した関数内でpanicしたときに、recoverしないようにしました。 今まではpanicした際のスタックトレースが失われていましたが、今バージョンからはTxScopeの外側にpanicを伝搬させるようにしたため、利用者はrecoverする自由を得ました。
goen v0.0.3には、以下の変更が含まれています: 生成されたInメソッドの引数を、スライスから可変長に変更 no such table "\"hoge\"" などの、余分なクォートをしてしまう問題の修正 v0.0.1で入れたクォートの対応によって発生 String() と QuotedString() …
goen v0.0.2には、以下の変更が含まれています。 CompilerHookの追加 CompilerOptions.Hookの追加 CompilerWithHookの追加 これにより、goenが生成したinsert/update/delete用のクエリを、ユーザがカスタマイズできるようになりました。 例えばpostgresのups…
goen v0.0.1には以下の変更が含まれています。 CompilerOptions.StmtBuilderの削除 CompilerOptions.Dialectの追加 goenが生成するクエリについて、テーブル名とカラム名をクォートするように変更 MetaSchemaをinterfaceに変更 MetaTableの追加 MeaColumnの…
goenを使ったプロダクトがここ数ヶ月、特に問題なく稼働しているということと、大体APIも問題なさそうだということで、ベータからv0.0.0の正式版に移行しました。 v0.0.0では、以下の変更が含まれています。 DBContext.QuerySqlizer DBContext.QuerySqlizerC…
goen はgo generate用のコード生成ツールを提供しますが、これは可能な限りASTベースで動作するように設計・実装しています。 これはgo generateによって生成される型に対して、同一パッケージ内でユーティリティ的なメソッドを生やす場合に、問題なく再度go…
今まで kallax というPostgreSQL用のORMを使っていたのですが、今後のメンテナンスや、そもそもの機能に不満がありました。 なので goen というORM Likeライブラリを作りました。 現在アルファ版で、フィードバック募集中です。 goenの特徴的な機能として、…