我在此用的是mysql数据库 为了数据库更好的维护和迁移要引入4个包
flask-script、flask-migrate、pymysql、flask_sqlalchemy
在自己的虚拟环境下 pip install flask-script、pip install flask-migrate 、pip install mysql
由于是个人博客就就先不设计外键关系了,后期扩展有可能加
在mysql下创建一个名叫myblogt的数据库
为了解决循环引用问题在blog目录下创建了一个exts.py 用于定义db对象
from flask_sqlalchemyimport SQLAlchemy
db = SQLAlchemy()
在__init__.py中添加db的初始化app
from blog.exts import db
db.init_app(app)
在models.py下创建User类和Aticle类 不知怎么粘过来就没有缩进了 凑合看吧
from blog.extsimport db
class User(db.Model):
__tablename__ ='b_user'
id = db.Column(db.Integer,primary_key=True)
username = db.Column(db.String(32))
password = db.Column(db.String(50))
class Aticle(db.Model):
__tablename__ ='b_aticle'
id = db.Column(db.Integer,primary_key=True)
title = db.Column(db.String(100))
content = db.Column(db.String(500))
在__init__.py中导入添加模型
from blog.models import User,Aticle
配置数据库的连接文件 放到根目录下 config.py
import os
SECRET_KEY = os.urandom(24)
SQLALCHEMY_DATABASE_URI ='mysql+pymysql://用户名:密码@localhost:3306/myblogt?charset=utf8'
SQLALCHEMY_TRACK_MODIFICATIONS =False
新建一个manager.py文件内容
激活虚拟换件切换到当前的manage.py下
输入 python manager.py db init 用于初始化 创建部分包
python manager.py db migrate 用于生成迁移文件
python manager.py db upgrade 用于生成数据库表
此时来到我们的数据库看一下就有了两个表
网友评论