Schema.sql的疑问

2013 年 5 月 8 日
 shinerene
在看flask的文档 发现有个叫schema.sql的文档 请问有什么用?具体作用是干嘛的 ?能解释的清除一些吗?
谢谢啦!
3653 次点击
所在节点    Python
12 条回复
cloverstd
2013 年 5 月 8 日
创建数据库
shinerene
2013 年 5 月 8 日
@cloverstd 那为什么有了schema.sql之后还要有xxx.db这个文件呢 请问两个的区别在哪里?
scarlex
2013 年 5 月 8 日
schema.sql里面写的是创建数据库的语句
xxx.db是由schema.sql生成的数据库吧
C0VN
2013 年 5 月 8 日
创建数据库的表结构用的呀,就是一堆sql语句,看来lz对数据库还不是很了解呀。
cloverstd
2013 年 5 月 9 日
@shinerene 你看的 Flask 的教程里用的 SQLite
你可以先去看看 http://sql.learncodethehardway.org/ 这个再看 FLask 的这个教程也不迟
shinerene
2013 年 5 月 9 日
@scarlex 恩 ~
@xavierskip 恩 刚刚开始学习额 对于数据库的一些基本操作语句有了解 但是 从头到尾创建i个数据库 还是很不了解
@cloverstd 这个教程很不错~谢谢了~
shinerene
2013 年 5 月 9 日
@cloverstd 还有个问题 我按照flask的tutorial 写了个很简单的app 然后可以登陆 只要不推出运行着的程序 可是每次关掉之后 再次启动就提示 没有此用户 也就是说 用户信息没有被写入数据库吗?要怎么解决这个问题?
cloverstd
2013 年 5 月 9 日
@shinerene commit()
数据修改后要 commit
cloverstd
2013 年 5 月 9 日
@shinerene
你是按照这个吗?
def init_db():
with closing(connect_db()) as db:
with app.open_resource('schema.sql') as f:
db.cursor().executescript(f.read())
db.commit()

如果你按照这个 tutorial 这样初始化数据库,每次都会初始一遍的。
shinerene
2013 年 5 月 9 日
@cloverstd 嗯嗯 对的 我就是按照这个的 请问要怎样来修改呢??
cloverstd
2013 年 5 月 9 日
@shinerene 初始一遍就不要初始了
让 init_db() 只运行一遍
shinerene
2013 年 5 月 9 日
@cloverstd ok!搞定了!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/68170

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX