To edit any of the wiki pages, or to create or edit tickets, please login as guest/guest. About Elixir Elixir is a declarative layer on top of the SQLAlchemy library. It is a fairly thin wrapper, which provides the ability to create simple Python classes that map directly to relational database tables (this pattern is often referred to as the Active Record design pattern), providing many of the
SQLAlchemyのSQL表現言語で集計する 前回の Djangoで売上を集計/集約処理する に続いて、また集計します。 今回はDjango(のORM)ではなく SQLAlchemy を使います。バージョンは0.8。 ただしORMとしてではなく、SQLAlchemyのSQL表現言語(SQLExpression)のみ使います。 (私はSQLAlchemyのド素人で、ORMとして使ったことがないです。ただ、SQLAlchemyの SQL表現言語が素晴らしいなーと思ったので、試してみました) SQLExpressionのチュートリアルも参考にしてください: SQL表現言語チュートリアル (0.6.5 ドキュメント和訳) SQL Expression Language Tutorial (0.8 Documentation) 前回同様ユースケースにあわせて、集計をしてみます。 今回も: 売上合計
先週は、レガシーなOracleデータベースと格闘していた(文字エンコーディングの件もその一つ)。 __table__と__tablename__の違い __table__は適切に設定済みのテーブルに対して使うらしい。自分でごちゃごちゃと設定したい場合は__tablename__と__table_args__を使うべし How to override a column name in sqlalchemy using reflection and descriptive syntax 複合プライマリーキーでのone-to-many 主キーが複合プライマリーキーの場合はそれぞれにprimary_key=Trueをつけるが、外部キーで一対多の関連付けをしたい場合には __table_args__で外部キー設定をしておく。 class Protocol(Base): __tablename__ =
チュートリアルみれば一発だけど、備忘録にメモしておく。 準備 インストール % pip install sqlalchemy-migrate migrateコマンドができる。名前があれなのでvirtualenvがあったほうがいいと思う。 リポジトリ作成 % migrate create リポジトリパス リポジトリ名 my_repositoryってパスで作成するとこんな構成になる。 % find my_repository my_repository my_repository/__init__.py my_repository/manage.py my_repository/migrate.cfg my_repository/README my_repository/versions my_repository/versions/__init__.py tip 酒徳さんの記事にあるようにm
Pythonから利用できるデータベースはSQLiteのように簡易的なものから、オープンソースのMySQL、PostgreSQL、商用のOracleなど多岐にわたります。また,これ以外の多くのデータベースに対応しています。 PythonではデータベースのAPIが定義されています。そのAPIを実装する形で各データベース用のアダプターが提供されています。Python 2.5からはSQLite3とそのアダプターが標準ライブラリとして提供されています。Python 2.5さえインストールすれば、すぐにSQLite3を使ったデータベースプログラミングを始められます。また、別途アダプターをインストールすれば本格的なデータベースが使用できます。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く