我们首先需要安装对应的连接的依赖

  

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不会出现。

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

文章首发在公众号,欢迎关注。

最新文章

  1. thinkcmf无法使用config.html中的配置量
  2. LoTVideo:只需两步,让HTML5原生态的Video茁壮成长
  3. 在网页中嵌入地图API
  4. CF687C. The Values You Can Make[背包DP]
  5. System.exit(0)和System.exit(1)区别
  6. docker note
  7. SharedPreferences实现自动登录记住用户名密码
  8. css text-overflow溢出文本显示省略号
  9. Linux学习笔记25——命名管道(FIFO)
  10. Bash's Big Day
  11. 学习window系统下的注册表
  12. Ocelot中文文档-架构图
  13. pyltp安装踩坑记录
  14. 去中心化存储项目终极指南 | Filecoin, Storj 和 PPIO 项目异同
  15. BZOJ2808 : 那些年我们画格子
  16. 单例模式(懒汉、饿汉、同步锁、static、枚举)实现
  17. oracle-db安装
  18. Linux 下MongoDb的安装
  19. 基于快速排序的数组划分:2组 3组 K组(sort color)大小写排序 · Partition Array
  20. 使用IDEA工具配置和运行vue项目(详细其中的坑)

热门文章

  1. 初探计算机网络之HTTPS请求
  2. Ysoserial Commons Collections2分析
  3. 洛谷5038 [SCOI2012]奇怪的游戏(二分+网络流+判断奇偶)
  4. MySQL中如何选择合适的备份策略和备份工具
  5. app定位工具介绍
  6. fastdfs单节点部署
  7. PTA数据结构 习题3.6 一元多项式的乘法与加法运算 (20分)
  8. docker初探和基础搭建
  9. Markdown Syntax Images
  10. Vue CLI 5 和 vite 创建 vue3.x 项目以及 Vue CLI 和 vite 的区别