1.安装flask_sqlalchemy
1.1检查环境中有哪些插件方法
pip list
1.2安装flask_sqlalchemy插件
pip install flask_sqlalchemy
1.3FLask连接数据库
# 导入数据库
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
# 让flask连接数据库
db = SQLAlchemy(app)
2.安装flask_migrate
2.1介绍flask_migrate
- flask_migrate是对migrate进行封装
- 主要用途是通过migrate对数据库进行映射,相当于通过migrate操作数据库
2.2安装flask_migrate插件
pip install flask_migrate==2.5.3
3.安装flask_script
3.1介绍flask_script
可以通过命令的形式来操控flask。
本次项目使用的原因是方便数据库的同步。
3.2安装flask_script
pip install flask_script
3.3 配置migrate和script
# migrate和同步数据库配置
manager = Manager(app)
Migrate(app,db)
manager.add_command('db',MigrateCommand)
3.完整代码
# manager.py
from flask import Flask
# 用于导入加密字符
import os
# 导入数据库
from flask_sqlalchemy import SQLAlchemy
# MigrateCommand migrate的命令
from flask_migrate import Migrate,MigrateCommand
# 管理:方便数据库的同步
from flask_script import Manager
app = Flask(__name__)
# 配置MySQL参数
class Config:
MYSQL_DIALECT = 'mysql' #使用哪个数据库
MYSQL_DIRVER = 'pymsql' #选择驱动
MYSQL_NAME = 'root' #用户名
MYSQL_PWD = 'root' #密码
MYSQL_HOST = 'localhost'#主机名
MYSQL_PORT = 3306 #端口号
MYSQL_DB = 'shop_env' #数据库名
MYSQL_CHARSET = 'utf8mb4'#编码格式
SQLALCHEMY_DATABASE_URI = f'{MYSQL_DIALECT}+{MYSQL_DIRVER}://{MYSQL_NAME}:{MYSQL_PWD}@{MYSQL_HOST}:{MYSQL_PORT}/{MYSQL_DB}?charset={MYSQL_CHARSET}'
# 默认设置为true,当数据发生变化,会发送一个信号。
SQLALCHEMY_TRACK_MODIFICATIONS = True
# 设置加密字符
SECRET_KEY = os.urandom(16)
DEBUG = True
# 加载数据库到Flask中
app.config.from_object(Config)
db = SQLAlchemy(app)
# migrate和同步数据库配置
manager = Manager(app)
Migrate(app,db)
manager.add_command('db',MigrateCommand)
@app.route('/')
def index():
return "测试Flask"
if __name__ == "__main__":
app.run(debug=True)