python - 如何将 2 个数据库的架构与 sqlalchemy-diff 进行比较 - 无法从字符串中解析 rfc1738 URL
问题描述
我有 Azure SQL(或 SQL Server)数据库的 Dev 和 Prod 版本。我想比较测试的模式部分。
我读到 sqlalchemy-diff 可能是有用的工具。https://pypi.org/project/sqlalchemy-diff/ 但是我从 URL 收到错误。我想知道需要做什么?
代码:
from pprint import pprint
from sqlalchemydiff import compare
DBURI1 = "Server=my-sql-server.database.windows.net,1433;Database=my-dev-
sql-db;UID=myuser;PWD=mypassword;Trusted_Connection=No;"
DBURI2 = "Server=my2-sql-server.database.windows.net,1433;Database=my2-dev-
sql-db;UID=myuser;PWD=mypassword;Trusted_Connection=No;"
result = compare(DBURI1, DBURI2)
if result.is_match:
print('Databases are identical')
else:
print('Databases are different')
pprint(result.errors)
错误:
sqlalchemy.exc.ArgumentError: Could not parse rfc1738 URL from string 'Server=my-sql-server.database.windows.net,1433;Database=my-dev-
sql-db;UID=myuser;PWD=mypassword;Trusted_Connection=No;'
解决方案
推荐阅读
- conv-neural-network - CNN推理卷积的快速实现
- android - BaseAdapter 扩展的 Fragment 和 Adapter 中的列表视图搜索遇到崩溃
- java - 运行多条记录时用于地理编码的 Mapbox API 导致内存不足异常
- vue.js - Vue.js vuetifyjs日历不显示日事件
- node.js - 多对多关系 Sequelize Node JS 属性数组
- python - 从 html 上的按钮运行 python 脚本
- python - python drop row if 仅适用于特定字符串
- async-await - 使用 CancellationTokenSource 时,NetworkStream ReadAsync 和 WriteAsync 无限挂起 - Task.Result(或 Task.Wait)导致死锁
- python - 如何在 python 中输入数学函数(exp、log、sin)
- python - Traceback:TypeError:此构造函数不带参数