1.配置数据库

在config里面添加数据库参数


HOST = '127.0.0.1'
PORT = '3306'
DATABASE = 'zloa'
USERNAME = 'zloa'
PASSWORD = 'ysDssdRmHGAktTK3'
DB_URI = f"mysql+pymysql://{USERNAME}:{PASSWORD}@{HOST}:{PORT}/{DATABASE}?charset=utf8mb4"
SQLALCHEMY_DATABASE_URI = DB_URI

2.创建User模型

在models.py里面创建UserModel

from exts import db
from datetime import datetime

class UserModel(db.Model):
    __tablename__ = "user"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)  # 字段id,整型,主键,自增
    username = db.Column(db.String(100), nullable=False)  # 字段username 字符串,不能为空
    password = db.Column(db.String(200), nullable=False)
    email = db.Column(db.String(100), nullable=False,unique=True)  #unique 邮箱必须唯一
    join_time = db.Column(db.DateTime,default=datetime.now)

3.app.py导入模型

from models import UserModel
from flask_migrate import Migrate

#将模型映射到数据库中
migrate = Migrate(app,db)

4.flask数据库迁移三步命令

在项目环境的终端中输入命令

flask db init

flask db migrate

flask db upgarde

然后自动生成migrations目录

数据库中生成一个表alembic_version,和user表

app.py完整代码如下:

from flask import Flask
import config
from exts import db
from blueprints.qa import bp as qa_bp
from blueprints.auth import bp as auth_bp
from models import UserModel
from flask_migrate import Migrate


app = Flask(__name__)

app.config.from_object(config)


db.init_app(app)

#将模型映射到数据库中
migrate = Migrate(app,db)

#注册蓝图
app.register_blueprint(qa_bp)
app.register_blueprint(auth_bp)


if __name__ == '__main__':
    app.run()

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐