首页 > 数据库 >从零开始构建报警中心:part08 数据库链接与验证

从零开始构建报警中心:part08 数据库链接与验证

时间:2023-12-19 19:01:48浏览次数:55  
标签:__ part08 flask 数据库 id 从零开始 import app

处理了model与schema就可以进行数据的实际操作了。

flask应用可以通过flask-sqlachemy进行ORM操作。

APP与数据库绑定

定义flask应用,对该应用进行配置,绑定数据库链接信息,并初始化DB,相关代码如下

app.py 这是整个系统的入口,后续将添加登入登出(flask-login),SSO接入,蓝图,以及API接入

from flask import Flask, redirect, render_template, request
from model import *

app = Flask(__name__, template_folder="templates")
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db'  # 使用SQLite数据库,可以根据需要更改

db.init_app(app)  # 初始化绑定DB 与 Flask

if __name__ == '__main__':
    app.run(debug=True)

初始化数据库

初始化数据库这里采用命令行方式进行,就是采用一个manager文件绑定migration与flask应用。具体使用方法可以参考

Flask ORM 学习笔记Part02:Flask-Migrate的使用,数据库创建与数据导入

manager.py 这个示例中只是演示了绑定app与migration,实际上,还可以进行命令行操作。这里演示使用cli,以及click解析参数进行的一个简单的数据库查询。

# -*- coding:UTF-8 -*-
from app import app
from model import *
from modelschema import *
from flask_migrate import Migrate
import click


migrate = Migrate(app, db, render_as_batch=True)
# 迁移命令管理与app,建立关系
# sqlite使用此参数render_as_batch=True使用batch操作替换普通操作,因为普通操作不支持表名,列名的改


@app.cli.command('get')
@click.option('--id', default=1)
@click.option('--m', default='Project')
def get_info(id, m):
    """
    示例代码,用于演示
    -id  -m
    """
    modlelist = {'Project': Project, 'Account': Account, 'Host': Host}
    schemalist = {'Project': ProjectSchema, 'Account': AccountSchema, 'Host': HostSchema}
    if m in ['Project', 'Account', 'Host']:
        m = modlelist[m]
        try:
            info = m.query.filter_by(id=id).one()
            print(info)
            exit(0)
        except Exception as E:
            print(str(E))
            print('请输入正确的id')
            exit(1)
    else:
        print('请输入正确的表名:Project, Acccount, Host')
        exit(1)




# $env:FLASK_APP = "manager"
# set FLASK_APP=manager:app
# export FLASK_APP="manager"
# flask db init
# flask db migrate
# flask db upgrade

绑定manager与flask应用后可以使用这个命令进行数据库简单查询

flask get # 不加任何参数
flask get --id 2 -m Account  # 添加两个参数

从零开始构建报警中心:part08 数据库链接与验证_数据库

标签:__,part08,flask,数据库,id,从零开始,import,app
From: https://blog.51cto.com/quietguoguo/8892310

相关文章

  • MySQL数据库故障恢复方案
    针对以上问题,技术部门拟定了恢复方案,内容如下:1、故障类型分类:在此次故障中,由于未对生产环境进行备份也未开启binlog日志,无法直接还原数据库,属于典型表内mysql-delete数据误删除。2、故障分析与可行性方案制定:对于mysqlinnodb误删除导致记录丢失的恢复方案有三种,分别是备份还原、......
  • PHP获取访问者ip,判断是否属于数据库中可以访问的ip段
    理解了。下面是一个例子,演示如何使用PHP获取访问者IP,并与数据库中的IP地址段进行比较。在这个例子中,我将使用IP地址和子网掩码的方式存储IP段,同时对比IP地址是否在指定的范围内。数据库表结构:CREATETABLEip_access(idINTAUTO_INCREMENTPRIMARYKEY,netw......
  • 连接数据库(mysql,orcle)
    链接mysql数据库前提:自行下载.jar包1、下载mysql-connector-java-5.1.28.jar驱动包,将包安装在Jmeter的\lib\ext目录下然后再在jmeter上点击打开导入mysql驱动包,( 添加一个线程组先)如下图所示:  添加配置元件中JDBCConnectionConfiguration  填写一下信息(注:写上vari......
  • 数据库题库
    sql:/*NavicatMySQLDataTransferSourceServer:MySQL57SourceServerVersion:50717SourceHost:localhost:3306SourceDatabase:finaltestTargetServerType:MYSQLTargetServerVersion:50717FileEncoding:65001......
  • NineData|《国产数据库共话未来趋势》技术沙龙
    12月16日周六下午,由NineData、PostgreSQL中文社区、PolarDB开源社区共同举办的《国产数据库共话未来趋势》技术沙龙,在NineData的报告厅成功举办。《国产数据库共话未来趋势》技术沙龙合影本次沙龙汇聚阿里云、玖章算术、百度云、飞轮科技、YMatrix、格睿科技、羲和Halo等众多......
  • 数据库 备份数据命令
    1、SQL语句选择每月的数据添加到另一张表insertinto_Data_Collect_20231108(RECORD_ID,RTU_ID,DataType,Time,Value,INSERT_TIME,I_Flag)selectRECORD_ID,RTU_ID,DataType,Time,Value,INSERT_TIME,I_FlagfromData_Collectwheretime<'2021-12-3100:00'deletefr......
  • 数据库类型和java中类型不一样的处理
    在数据库中我们定义的是字符串类型,但是根据需求我们需要存一个数组对象这个时候我们需要进行处理将java中的该变量都处理成数组,为了和数据库进行对应,我们需要在实体类添加一个东西  当有了这个的时候我们就可以和数据库进行联系啦 还需要对相应的字段进行处理 ......
  • 记一次postgresql数据库插入记录失败的问题。。。
    代码在测试环境中运行了一段时间,之前都没有问题,突然pg数据库中的某个表不能插入记录了,具体来说是新插入的主键与表中已有记录的主键重复导致入库失败,但是主键设置的是自增策略,理论上说,不会重复。网上看到有人说需要设置下该表主键对应序列的下一个值。查看表的数据定义语句如下......
  • 【ASP】读取数据库并显示字段的值例子
    1、不循环的例子,只有一条记录<% SetRs=Server.Createobject("Adodb.Recordset") sql="selecttop1*fromRc_SFZtmkg" Rs.opensql,conn,1,1 sfzDay=rs("tmbj")'把字段值赋值给变量 Rs.Close SetRs=Nothing%>显示 <td><%=Rs("t......
  • springboot015粮食仓库管理系统(毕业设计,附数据库和源码)
    一.4开发的技术介绍一.4.1Springboot介绍一.4.2Java语言一.4.3MySQL数据库一.5论文的结构二需求分析二.1需求设计二.2可行性分析二.2.1技术可行性二.2.2经济可行性二.2.3操作可行性二.3功能需求分析表2-1粮食仓库管理系统功能结构图三系统设计三.1数据库概念结构......