Flask实战2问答平台-User模型创建

models.py

from exts import db

class User(db.Model):
    __tablename__ = 'user'
    id = db.Column(db.Integer,primary_key =True,autoincrement = True)
    telephone = db.Column(db.String(11),nullable = False)
    username = db.Column(db.String(50),nullable = False)
    password = db.Column(db.String(100),nullable = False)

manager.py

# -*- coding: utf-8 -*-
from flask_script import Manager
from flask_migrate import Migrate,MigrateCommand
from zlktqa import app
from exts import db
from models import User


manager = Manager(app)

#使用Migrate绑定app和db
migrate = Migrate(app,db)
#添加迁移脚本的命令到manager中
manager.add_command('db',MigrateCommand)

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

初始化:(venv) python manage.py db init 这个命令会在项目下创建 migrations 文件夹,所有迁移脚本都存放其中。
创建第一个版本:(venv) pythonmanage.pydbmigrate,migrations\versions.py(venv) python manage.py db upgrade,会把项目使用的数据库文件,更新为新的表格、字段,同时保留数据(此时打开数据库会发现表已经建好)
我第一次操作时出现了问题,原因是config.py连接数据库时有个字段不对
config.py更改为一下后运行正常
(原本我在DB_URI = ‘mysql+mysqldb://{}:{}@{}:{}/{}’.format(USERNAME,PASSWORD,HOSTNAME,PORT,DATABASE) 这里添加了一个charset会报错,去调就没事了)

import os 
DEBUG = True
SECRET_KEY = os.urandom(24)

HOSTNAME = '127.0.0.1'
PORT = '3306'
DATABASE = 'zlktqa_demo'
USERNAME = 'root'
PASSWORD = 'password'
DB_URI = 'mysql+mysqldb://{}:{}@{}:{}/{}'.format(USERNAME,PASSWORD,HOSTNAME,PORT,DATABASE)
SQLALCHEMY_DATABASE_URI = DB_URI
SQLALCHEMY_TRACK_MODIFICATIONS = False
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值