首页 > 解决方案 > 如何将 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;'

标签: pythonsqlalchemy

解决方案


推荐阅读