2010-03-07 1 views
0

나는 Elixir 0.7.1, Sqlalchemy 0.6beta1, MySQLdb 1.2.2를 사용하고 있습니다. 'model.py'내 모델 파일은 다음과 같다 :엘릭서 create_all() 데이터베이스 및 테이블을 만들지 않습니다

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:[email protected]/dbname" 
metadata.bind.echo = True 

create_all() 
metadata.create_all() 

실행 한 후 : 파이썬 model.py가 어떤 테이블이 작성되지 않고 오류가 발생하지 않습니다. 내가 솔루션을 검색하고 하나를 찾을 수 없습니다

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() 

: 다음은 SQL 서버에 발행 echo'd 명령의 목록입니다.

+0

편집 : 데이터베이스가 이미 있으므로 테이블에 테이블을 만들지 않는다고 언급해야합니다. –

+0

나는 Sqlalchemy를 단독으로 사용하기로 결정했으며 orm과 선언적 접근법을 사용했다. 그것은 지금 일하고있다! 나는 엘릭서를 사용하지 않을 것이다. 문제가 무엇인지 여기에서 보는 것이 좋을 것입니다. –

답변

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))