就拿这个例子来说。
------------------------------------------------------------------------
from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True)
def __init__(self, username, email):
self.username = username
db.create_all()
admin = User('admin')
db.session.add(admin)
db.session.commit()
------------------------------------------------------------------------
不清楚在create_all()的时候是在指定位置创建了一个空的文件test.db,还是同时定义好了结构。
如果是定义好了结构,说不通啊,在create_all()之前根本就没有提及任何结构啊,只配置了一下它的路径。
如果test.db是空文件的话,那不就可以自己手动创建,手动移植了?内容不也就可以随便添加了?那结构不就会很乱吗?尤其在一些大型应用中,利用上下文,各种结构直接往一个db里面存储,维护起来不是很难吗?
难道真的是即用即插?!
------------------------------------------------------------------------
from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True)
def __init__(self, username, email):
self.username = username
db.create_all()
admin = User('admin')
db.session.add(admin)
db.session.commit()
------------------------------------------------------------------------
不清楚在create_all()的时候是在指定位置创建了一个空的文件test.db,还是同时定义好了结构。
如果是定义好了结构,说不通啊,在create_all()之前根本就没有提及任何结构啊,只配置了一下它的路径。
如果test.db是空文件的话,那不就可以自己手动创建,手动移植了?内容不也就可以随便添加了?那结构不就会很乱吗?尤其在一些大型应用中,利用上下文,各种结构直接往一个db里面存储,维护起来不是很难吗?
难道真的是即用即插?!