FLASK 数据库建立以及部署和表的创建

首先安装flask-sqlalchemy

python 复制代码
db = SQLAlchemy(app)

一 Mmeber、User模型类的创建

python 复制代码
# coding: utf-8
from app import db, app

class Member(db.Model):
    __tablename__ = 'member'

    id = db.Column(db.Integer, primary_key=True)
    membername = db.Column(db.String(100), unique=True, index=True, info='会员名')
    mobile = db.Column(db.String(11), server_default=db.FetchedValue(), info='会员手机号码')
    sex = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue(), info='性别 1:男 2:女')
    avatar = db.Column(db.String(200), nullable=True, server_default=db.FetchedValue(), info='会员头像')
    salt = db.Column(db.String(32), nullable=False, server_default=db.FetchedValue(), info='随机salt')
    reg_ip = db.Column(db.String(100), nullable=False, server_default=db.FetchedValue(), info='注册ip')
    status = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue(), info='状态 1:有效 0:无效')
    updated_time = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue(), info='最后一次更新时间')
    created_time = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue(), info='插入时间')


    @property
    def status_desc(self):
        return app.config['STATUS_MAPPING'][str(self.status)]

    @property
    def sex_desc(self):
        sex_mapping = {
            "0":"未知",
            "1":"男",
            "2":"女"
        }
        return sex_mapping[str(self.sex)]

    #status 统一返回sex表格的字段,  虚拟的好处是  直接可以在index.html中直接使用。  虚拟字段不可以查询
python 复制代码
# coding: utf-8
from app import db

class User(db.Model):
    __tablename__ = 'user'
    uid = db.Column(db.BigInteger, primary_key=True)
    nickname = db.Column(db.String(100), nullable=False, server_default=db.FetchedValue())
    mobile = db.Column(db.String(20), nullable=False, server_default=db.FetchedValue())
    email = db.Column(db.String(100), nullable=False, server_default=db.FetchedValue())
    sex = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
    avatar = db.Column(db.String(64), nullable=False, server_default=db.FetchedValue())
    login_name = db.Column(db.String(20), nullable=False, unique=True, server_default=db.FetchedValue())
    login_pwd = db.Column(db.String(32), nullable=False, server_default=db.FetchedValue())
    login_salt = db.Column(db.String(32), nullable=False, server_default=db.FetchedValue())
    status = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
    updated_time = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue())
    created_time = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue())

二 app.py中导入User,Member模型类

python 复制代码
from common.models.member import Member
from common.models.User import User

三: 在终端代码中给数据库创建对应的Member表格 和User表格

首先进入flask shell,然后使用创建代码

python 复制代码
db.create_all()

四: 特别注意:

以上都做到了,create_all()还是创建不了添加的表格,就需要保存,刷新一下pycharm了。

相关推荐
老孟说禅6 分钟前
自动化测试实战(二)
python
2601_9679873711 分钟前
你们都用Python实现了哪些自动化办公?
python·excel·自动化办公·1024程序员节·学习资料·跨平台操作
wflynn12 分钟前
GitHub 今日推荐|Snapintosh:用 ARM EL2 监控器骗过内核,让骁龙芯片笔记本跑 macOS
python·开源·github
happylifetree24 分钟前
Python69:核心语法-函数进阶-案例1(递归)
python
外收内放25 分钟前
FastAPI猜字谜实战(3):把每一局存成JSON
开发语言·python·学习·json·fastapi
小白学大数据26 分钟前
基于 Python 的家具消费数据分析全链路实战:从数据治理到销售预测
人工智能·python·数据分析
tedcloud12327 分钟前
Docker Compose 部署 Memos:从安装到备份恢复
linux·开发语言·jvm·后端·docker·容器·rust
镜子AI28 分钟前
镜子AI案例工程复盘:用Python给GEO效果做抽样检测与置信区间估计
开发语言·人工智能·python
木井巳31 分钟前
【JavaEE】SpringBoot 统一功能处理: 拦截器、统一返回与全局异常
java·spring boot·后端·spring·java-ee
WenGyyyL32 分钟前
从零理解强化学习:为什么 AI 需要 Advantage,而不只是 Reward?
人工智能·python·深度学习·机器学习·nlp