0

Elixir 0.7.1 、Sqlalchemy 0.6beta1 、MySQLdb 1.2.2 を使用しています。私のモデルファイル「model.py」は次のようになります。

from elixir import *
from datetime import datetime

class Author:
  first_name = Field(Unicode(64))
  last_name = Field(Unicode(64))

class Article:
  title = Field(Unicode(64))

class Category:
  name = Field(Unicode(64))

setup_all()
metadata.bind = "mysql://user:pass@localhost/dbname"
metadata.bind.echo = True

create_all()
metadata.create_all()

実行後: python model.py 、テーブルは作成されず、エラーはスローされません。以下は、SQL サーバーに発行される echo コマンドのリストです。

2010-03-06 19:50:22,004 INFO sqlalchemy.engine.base.Engine.0x...6c4c SELECT DATABASE()
2010-03-06 19:50:22,004 INFO sqlalchemy.engine.base.Engine.0x...6c4c ()
2010-03-06 19:50:22,005 INFO sqlalchemy.engine.base.Engine.0x...6c4c SHOW VARIABLES LIKE 'character_set%%'
2010-03-06 19:50:22,005 INFO sqlalchemy.engine.base.Engine.0x...6c4c ()
2010-03-06 19:50:22,006 INFO sqlalchemy.engine.base.Engine.0x...6c4c SHOW VARIABLES LIKE 'lower_case_table_names'
2010-03-06 19:50:22,006 INFO sqlalchemy.engine.base.Engine.0x...6c4c ()
2010-03-06 19:50:22,007 INFO sqlalchemy.engine.base.Engine.0x...6c4c SHOW COLLATION
2010-03-06 19:50:22,007 INFO sqlalchemy.engine.base.Engine.0x...6c4c ()
2010-03-06 19:50:22,009 INFO sqlalchemy.engine.base.Engine.0x...6c4c SHOW VARIABLES LIKE 'sql_mode'
2010-03-06 19:50:22,010 INFO sqlalchemy.engine.base.Engine.0x...6c4c ()

解決策を探しましたが、見つかりませんでした。

4

1 に答える 1

1

Entity 基本クラス (または、EntityMeta メタクラスを使用する選択した別の基本クラス) から継承する必要があります。

class Author(Entity):
    first_name = Field(Unicode(64))
    last_name = Field(Unicode(64))

class Article(Entity):
    title = Field(Unicode(64))

class Category(Entity):
    name = Field(Unicode(64))
于 2010-03-07T10:42:35.723 に答える