十六、User模型创建

90 阅读1分钟

一个网站最开始的功能应该是用户系统,因为后面许多功能都需要与用户系统交互,用户系统最核心的部分就是用户相关的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