sqlalchemy

sqlalchemyのORMじゃない方の機能(expression language api)

使い方忘れることが多いのでメモ。 準備 テキトウにデータを作って準備する。 テキトウにテーブル作成。 CREATE TABLE groups ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT ); CREATE TABLE users ( id INTEGER PRIMARY KEY AUTOINCREMENT, group_id …

sqlalchemyのautomapによる既存のDBからのmodelの生成について

昨日あたりにsqlalchemyのautomapの仕組みをつかってgraphqlのschemaを作ろうとしていたのだけれど。その時に使っていたsqlalchemyのautomapの仕組みが期待していたのとちょっと違っていたのでどうしようか考えてみる。 sqlalchemy? pythonで使われているORM…

既存のdbからgraphqlのschemaを生成しようとしてみる

はじめに 既存のDBのURLを渡すと、何か良い感じにgraphqlのベースのapiを良い感じに提供してくれるようにする何かを作ろうとしはじめた。 graphqlはschemaを取るのだけれど、こちらのschemaはgraphベースなのでちょっと困る。 サーバー側の実装をするために…

djangoでの集計は辛いという話 -- ORMは用法・用量を守って正しく使いましょう

djangoでの集計は辛いという話 -- ORMは用法・用量を守って正しく使いましょう djangoのORMの機能の不足にぶち当たり辛いという話。別の言い方をすると、ORMは用法・容量守って正しく使いましょうという感じになるかもしれない。 はじめに 以下のような情報…

djangoとsqlalchemyでunion allで繋げるようなものを参照・更新含めて考えてみた

djangoとsqlalchemyでunion allで繋げるようなものを参照・更新含めて考えてみた。 はじめはdjangoのormでviewを使った方法を考えて、ちょっとしたことからdjangoが思いもしない挙動をしたのでsqlalchemyではどうだったのか確認しようとした。 状況説明 以下…

what is Query.with_entities()?

what is Query.with_entities()? sqlalchemy でwith_entitiesのこと聞かれたので日記に書いてみる。 short answer queryの主体を変えるもの。(Select部分の書き換え) 例 A.query.filter(A.b_id==B.id).all() # => [A,A,A,A,A] A.query.filter(A.b_id==B.id).…

sqlalchemyでdb engineを使い分ける。

時折永続先を切り替えた形でテストしたい場合があり。 その時にどうすれば良いか分かっていなかったので調べた。 scopedsessionを使う場合と使わない場合で異なる。 swap_db_sample.py https://gist.github.com/podhmo/6990194

sqlalchemyで自己結合とか相関サブクエリとか試す。

deprecatedなrelationshipを作成する

モデルの持つあるrelationshipをdeprecatedにして、これにアクセスしたら警告を出すようにしたい relationship? sqlalchemyのormでforeign keyでつながったテーブルにマッピングされたオブジェクトへの参照を保持する属性のこと。 代表例 MemberGroupがMembe…