一个网站最开始的功能应该是用户系统,因为后面许多功能都需要与用户系统交互,用户系统最核心的部分就是用户相关的ORM模型,下面在models/user.py中添加如下代码:
from zhiliaooa.exts import db
from datetime import datetime
class RoleModel(db.Model):
__tablename__ = 'user'
id = db.Column(db.Integer,primary_key=True,autoincrement=True)
username = db.Column(db.String(100),nullable=False)
password = db.Column(db.String(100),nullable=False)
email = db.Column(db.String(100),nullable=False,unique=True)
join_time = db.Column(db.DateTimem,default=datetime.now)
创建完成后,再把模型映射到数据库中,这里需要借助Flask-Migrte插件,下面在app.py中添加如下代码:
......
from flask_migrate import Migrate
app = Flask(__name__)
#绑定配置文件,直接读取配置文件中的内容
app.config.from_object(config.DevelopmentConfig)
migrate = Migrate(app,db)
......
接下来需要在Terminal中完成迁移环境的初始化
$ python3 -m flask db init
为了在迁移时能让程序识别到models/user.py中的ORM模型,先手动在app.py中导入models/user.py,代码如下:
from models import user
接着同样在pycharm的Terminal中执行如下命令,以生成迁移脚本并完成迁移脚本的执行
python3 -m flask db migrate -m "create permission adb role model"
执行完以上命令后,已经为ORM模型生成了迁移脚本,但是此时并没有真正同步到数据库中,因此还需要执行以下命令才会同步到数据库中
python3 -m flask db upgrade