1. 做好准备工作
- 进入项目主目录
- 激活虚拟环境
2. 安装Flask-SQLAlchemy
Flask-SQLAlchemy拓展为SQLAlchemy提供了一层包装,也就是对象关系映射(ORM)。ORM允许应用通过类,对象和方法来管理数据库而不是表和SQL。ORM的工作就是将高级操作转换为数据库命令。
输入以下命令安装Flask-SQLAlchemy:
(venv) $ pip install flask-sqlalchemy
3. 安装Flask-Migrate
Flask-Migrate拓展对Alembic做了包装,可以跟踪数据库模式的变化。
输入以下命令安装Flask-Migrate:
(venv) $ pip install flask-migrate
4. 配置Flask-SQLAlchemy
将以下代码写入config.py文件:
import os
basedir = os.path.abspath(os.path.dirname(__file__))
class Config(object):
# ...
SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or \
'sqlite:///' + os.path.join(basedir, 'app.db')
SQLALCHEMY_TRACK_MODIFICATIONS = False
Flask-SQLAlchemy拓展从SQLALCHEMY_DATABASE_URI配置变量中获取应用程序数据库所在的位置。
5. 创建数据库和数据库迁移对象
在应用中数据库将以数据库实例表示,数据库迁移也一样。在app/__init__.py文件中导入配置类,Flask-SQLAlchemy和Flask-Migrate模块,在应用初始化的后面使用app.config配置对象提供的from_object()方法将配置类导入程序,然后创建Flask-SQLAlchemy和Flask-Migrate对象:
from flask import Flask
from config import Config
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
app = Flask(__name__)
app.config.from_object(Config)
db = SQLAlchemy(app)
migrate = Migrate(app, db)
from app import routes, models
6. 创建数据库模型
app.