Flask实例代码__模型2ORM3数据库迁移

博客涉及数据库迁移和ORM相关内容,但具体信息缺失。数据库迁移是数据库操作中的重要环节,ORM则能简化数据库编程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_script import Manager
from flask_migrate import Migrate,MigrateCommand

# import pymysql
# pymysql.install_as_MySQLdb()

app = Flask(__name__)
#连接到MySQL中flaskDB数据库
app.config['SQLALCHEMY_DATABASE_URI'] = "mysql+pymysql://root:123456@127.0.0.1:3306/flaskDB"
#指定不需要信号追踪
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
#指定程序的启动模式为调试模式
app.config['DEBUG'] = True
#创建SQLAlchemy的实例
db = SQLAlchemy(app)

#创建Manager对象并指定要管理的app
manager = Manager(app)
#创建Migrate对象,并指定关联的app和db
migrate = Migrate(app,db)
#为manager增加数据库的迁移指令
#为manager增加一个子命令-db(自定义),具体操作由MigrateCommand来提供
manager.add_command('db',MigrateCommand)


#创建实体类-Users,映射到数据库中叫users表
#创建字段id,主键,自增
#创建字段username,长度为80的字符串,不能为空,值唯一,加索引
#创建字段age,整数,允许为空
#创建字段email,长度为120的字符串,必须唯一
class Users(db.Model):
    __tablename__ = "users"

    id = db.Column(
        db.Integer,
        primary_key=True
    )

    username = db.Column(
        db.String(80),
        nullable = False,
        unique = True,
        index = True
    )

    age = db.Column(
        db.Integer,
        nullable=True
    )

    email = db.Column(
        db.String(120),
        unique=True
    )

    #增加一个列isActive,默认为True
    isActive = db.Column(db.Boolean,default=True)
    #增加一个列birthday
    birthday = db.Column(db.Date)

class Student(db.Model):
    id = db.Column(db.Integer,primary_key=True)
    sname = db.Column(db.String(30),nullable=False)
    sage = db.Column(db.Integer,nullable=False)
    isActive = db.Column(db.Boolean,default=True)

class Teacher(db.Model):
    id = db.Column(db.Integer,primary_key=True)
    tname = db.Column(db.String(30),nullable=False)
    tage = db.Column(db.Integer,nullable=False)

class Course(db.Model):
    id = db.Column(db.Integer,primary_key=True)
    cname = db.Column(db.String(30),nullable=False)

class Wife(db.Model):
    id = db.Column(db.Integer,primary_key=True)
    wname = db.Column(db.String(30))
#先删除所有表结构
# db.drop_all()

#将所有的实体类生成对应的表结构
#前提:表不存在的情况下才能生成
# db.create_all()



if __name__ == "__main__":
    # app.run(debug=True)
    # 启动服务的操作交给manager来管理
    manager.run()
内容概要:该研究通过在黑龙江省某示范村进行24小时实地测试,比较了燃煤炉具与自动/手动进料生物质炉具的污染物排放特征。结果显示,生物质炉具相比燃煤炉具显著降低了PM2.5、CO和SO2的排放(自动进料分别降低41.2%、54.3%、40.0%;手动进料降低35.3%、22.1%、20.0%),但NOx排放未降低甚至有所增加。研究还发现,经济性和便利性是影响生物质炉具推广的重要因素。该研究不仅提供了实际排放数据支持,还通过Python代码详细复现了排放特征比较、减排效果计算和结果可视化,进一步探讨了燃料性质、动态排放特征、碳平衡计算以及政策建议。 适合人群:从事环境科学研究的学者、政府环保部门工作人员、能源政策制定者、关注农村能源转型的社会人士。 使用场景及目标:①评估生物质炉具在农村地区的推广潜力;②为政策制定者提供科学依据,优化补贴政策;③帮助研究人员深入了解生物质炉具的排放特征和技术改进方向;④为企业研发更高效的生物质炉具提供参考。 其他说明:该研究通过大量数据分析和模拟,揭示了生物质炉具在实际应用中的优点和挑战,特别是NOx排放增加的问题。研究还提出了多项具体的技术改进方向和政策建议,如优化进料方式、提高热效率、建设本地颗粒厂等,为生物质炉具的广泛推广提供了可行路径。此外,研究还开发了一个智能政策建议生成系统,可以根据不同地区的特征定制化生成政策建议,为农村能源转型提供了有力支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值