#!python import sys print sys.version import sqlalchemy print sqlalchemy.__version__ #0.3.11 from sqlalchemy import create_engine from sqlalchemy import Column, MetaData, Table, types, ForeignKey from sqlalchemy.orm import mapper, relation metadata = MetaData() player = Table('player', metadata, Column('id', types.Integer, primary_key=True), Column('name', types.String(100)), Column('email', types.String(256)) ) match = Table('match', metadata, Column('id', types.Integer, primary_key=True), Column('venue', types.String(100)), Column('length', types.Integer), Column('player0', types.Integer, ForeignKey('player.id')), Column('player1', types.Integer, ForeignKey('player.id')), Column('result', types.Enum('0won', '1won')), ) engine = create_engine('sqlite:///:memory', echo=True) metadata.create_all(engine)
実行結果。
[nori@nagato]~/Desktop/work/ratingdb% python2.7 model.py 2.7.1 (r271:86832, Jan 26 2011, 22:14:26) [GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] 0.6.6 2011-01-26 23:48:23,370 INFO sqlalchemy.engine.base.Engine.0x...49d0 PRAGMA table_info("player") 2011-01-26 23:48:23,370 INFO sqlalchemy.engine.base.Engine.0x...49d0 () 2011-01-26 23:48:23,370 INFO sqlalchemy.engine.base.Engine.0x...49d0 PRAGMA table_info("match") 2011-01-26 23:48:23,370 INFO sqlalchemy.engine.base.Engine.0x...49d0 () 2011-01-26 23:48:23,371 INFO sqlalchemy.engine.base.Engine.0x...49d0 CREATE TABLE player ( id INTEGER NOT NULL, name VARCHAR(100), email VARCHAR(256), PRIMARY KEY (id) ) 2011-01-26 23:48:23,371 INFO sqlalchemy.engine.base.Engine.0x...49d0 () 2011-01-26 23:48:23,386 INFO sqlalchemy.engine.base.Engine.0x...49d0 COMMIT 2011-01-26 23:48:23,387 INFO sqlalchemy.engine.base.Engine.0x...49d0 CREATE TABLE "match" ( id INTEGER NOT NULL, venue VARCHAR(100), length INTEGER, player0 INTEGER, player1 INTEGER, result VARCHAR(4), PRIMARY KEY (id), CHECK (result IN ('0won', '1won')), FOREIGN KEY(player1) REFERENCES player (id), FOREIGN KEY(player0) REFERENCES player (id) ) 2011-01-26 23:48:23,387 INFO sqlalchemy.engine.base.Engine.0x...49d0 () 2011-01-26 23:48:23,391 INFO sqlalchemy.engine.base.Engine.0x...49d0 COMMIT