时间:2021-07-01 10:21:17 帮助过:17人阅读
本文使用sqlite来作为例子演示,在config.py里面更新下数据库的配置
import os
basedir = os.path.abspath(os.path.dirname(__file__))
SQLALCHEMY_DATABASE_URI = ‘sqlite:///‘ + os.path.join(basedir, ‘app.db‘)
SQLALCHEMY_MIGRATE_REPO = os.path.join(basedir, ‘db_repository‘)
Flask-SQLAlchemy会引用到 SQLALCHEMY_DATABASE_URI 来获取数据库的存储位置,SQLAlchemy-migrate 会引用SQLALCHEMY_MIGRATE_REPO,移动的数据库文件会放到这个目录下
配置对象中还有一个很有用的选项,即 SQLALCHEMY_COMMIT_ON_TEARDOWN 键,将其设为 True时,每次请求结束后都会自动提交数据库中的变动
完善数据库基本配置之后,在app/__init__.py初始化数据库引擎对象
from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config.from_object(‘config‘) db = SQLAlchemy(app) from app import views, models
这样就初始化了一个db对象,并且引入models,models就是数据库的描述模版,下面会介绍
2 设计数据库model
如何用Flask-SQLAlchemy描述这张表?app/models.py
from app import db
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
nickname = db.Column(db.String(64), index=True, unique=True)
email = db.Column(db.String(120), index=True, unique=True)
def __repr__(self):
return ‘<User %r>‘ % (self.nickname)
3 创建数据库
配置好了,数据库表也定义好了,接下来就是创建数据库。创建一个创建数据库的脚本,放到跟config.py同目录下,命名为db_create.py。先安装SQLAlchemy-migrate
easy_install SQLAlchemy-migrate 安装完成之后,编写db_create.py
#!flask/bin/python from migrate.versioning import api from config import SQLALCHEMY_DATABASE_URI from config import SQLALCHEMY_MIGRATE_REPO from app import db import os.path db.create_all() if not os.path.exists(SQLALCHEMY_MIGRATE_REPO): api.create(SQLALCHEMY_MIGRATE_REPO, ‘database repository‘) api.version_control(SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO) else: api.version_control(SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO, api.version(SQLALCHEMY_MIGRATE_REPO))
运行db_create.py创建数据库,python ./db_create.py,创建成功后会生成如下文件
ORM 数据库使用
标签:请求 http down imp pretty image mod sql path