当前位置:
首页 > temp > python入门教程 >
-
FastAPI 学习之路(六十一)使用mysql数据库替换sqlite数据库
我们首先需要安装对应的连接的依赖
1
|
pip install pymysql |
然后在配置testDatabase.py
from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker SQLALCHEMY_DATABASE_URL = "mysql+pymysql://root:@127.0.0.1:3306/test" engine = create_engine( SQLALCHEMY_DATABASE_URL, encoding='utf8', echo=True ) TestingSessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) Base = declarative_base()
修改成本地的连接mysql,连接的test的数据库,我们需要在本地去创建test的数据库,那么我们创建完毕后,去启动,发现报错
在自动创建数据库的时候,使用mysql数据库,String类型对应的是VARCHAR类型,需要指定长度,否则会报下面错误,而在sqlite不会出现。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
from sqlalchemy import Boolean, Column, ForeignKey, Integer, String from sqlalchemy.orm import relationship from config import EVENT if EVENT = = "test" : from models.testDatabase import Base, engine else : from models.database import Base, engine class User(Base): __tablename__ = "users" id = Column(Integer, primary_key = True , index = True ) email = Column(String(length = 252 ), unique = True , index = True ) hashed_password = Column(String(length = 252 )) is_active = Column(Boolean, default = True ) items = relationship( "Item" , back_populates = "owner" ) class Item(Base): __tablename__ = "items" id = Column(Integer, primary_key = True , index = True ) title = Column(String(length = 252 ), index = True ) description = Column(String(length = 252 ), index = True ) owner_id = Column(Integer, ForeignKey( "users.id" )) owner = relationship( "User" , back_populates = "items" ) |
然后我们在启动,
日志里面正常去创建了对应的数据库。
在数据库的对应的数据表也同步创建成功,这样我们就完成了,测试服的替换,我们可以用接口工具postman去调试下。
可以看到创建成功,
数据库中,也正常了创建了对应的数据,我们在测试服的更改数据库完成,同比,我们的其他环境也可以这么修改即可。
代码存储
https://gitee.com/liwanlei/fastapistuday
来源:https://www.cnblogs.com/leiziv5/p/15583674.html
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
关于JS定时器的整理
JS中使用Promise.all控制所有的异步请求都完
js中字符串的方法
import-local执行流程与node模块路径解析流程
检测数据类型的四种方法
js中数组的方法,32种方法
前端操作方法
数据类型
window.localStorage.setItem 和 localStorage.setIte
如何完美解决前端数字计算精度丢失与数