sqlalchemy新手,用下面的初始化数据库代码,单独运行后,数据表并没有初始化(要ORM映射的类写在model中)。
``` python
database = "mysql://%s:%s@%s/%s" %(DBUSER,DBPASSWD,DBHOST,DBNAME)
mysql_engine = sqlalchemy.create_engine(database,echo=True)
mBase = sqlalchemy.ext.declarative.declarative_base()
def initialize_db():
import model
try:
mBase.metadata.create_all(mysql_engine)
except OperationalError, err:
print("Error %s" % str(err))
print("Data Base Completed")
initialize_db()
```
但如果在主程序(启动webserver的py文件中)中调用initialize_db,数据表就会根据ORM的类创建成功。
不明白这是为什么,问题出在哪里?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.