比较Ubuntu/Linux上的ms sql数据库模式
ms sql(在linux上)中是否有任何命令用于比较两个数据库之间的模式?可能可以通过 对于Linux比较Ubuntu/Linux上的ms sql数据库模式,sql,sql-server,linux,schema,Sql,Sql Server,Linux,Schema,ms sql(在linux上)中是否有任何命令用于比较两个数据库之间的模式?可能可以通过 对于Linux 首先,要创建的每个数据库的dacpac: sqlpackage.exe/Action:Extract/SourceServerName:XLW-CNU415CD8B/SourceDatabaseName:AdventureWorks2012/TargetFile:AdventureWorks2012\u v1.dacpac/p:IgnoreExtendedProperties=True/p
- 首先,要创建的每个数据库的dacpac:
sqlpackage.exe/Action:Extract/SourceServerName:XLW-CNU415CD8B/SourceDatabaseName:AdventureWorks2012/TargetFile:AdventureWorks2012\u v1.dacpac/p:IgnoreExtendedProperties=True/p:IgnorePermissions=False/p:ExtractApplicationScopedObjectsOnly=True
- 然后,要比较的DACPAC:
sqlpackage/a:DeployReport/sf:AdventureWorks2012\u v1.dacpac/tf:AdventureWorks2012\u v2.dacpac/tdn:AdventureWorks2012.db/op:AdventureWorks2012\u v1.xml
请注意,此示例基于该工具的windows版本,我假设Linux端口具有相同的参数列表,可能可以通过 对于Linux
- 首先,要创建的每个数据库的dacpac:
sqlpackage.exe/Action:Extract/SourceServerName:XLW-CNU415CD8B/SourceDatabaseName:AdventureWorks2012/TargetFile:AdventureWorks2012\u v1.dacpac/p:IgnoreExtendedProperties=True/p:IgnorePermissions=False/p:ExtractApplicationScopedObjectsOnly=True
- 然后,要比较的DACPAC:
sqlpackage/a:DeployReport/sf:AdventureWorks2012\u v1.dacpac/tf:AdventureWorks2012\u v2.dacpac/tdn:AdventureWorks2012.db/op:AdventureWorks2012\u v1.xml
pip install mssql-scripter.
并执行以下命令:
$ mssql-scripter -S serverName -d databaseSource -U user > ./source.sql
$ mssql-scripter -S serverName -d databaseTarget -U user > ./target.sql
$ diff source.sql target.sql
解决方案2:
如果你有可能使用桌面环境(就像我正在做的),我会使用比较工具,在我看来,这是一个更加用户友好的工具
ticodexsqlschemacompare()这是一个很好的工具,可以在Linux、Windows和Mac上运行,可以比较MS-SQL、MySQL和PostgreSQL数据库的模式。易于使用和有效。这可能对你有帮助
为了使用它:
- 配置源数据库(指定服务器名、用户名、密码等)
- 配置目标数据库
- 如果要排除数据库对象或更改输出,则有一些选项
- 按下比较按钮
pip install mssql-scripter.
并执行以下命令:
$ mssql-scripter -S serverName -d databaseSource -U user > ./source.sql
$ mssql-scripter -S serverName -d databaseTarget -U user > ./target.sql
$ diff source.sql target.sql
解决方案2:
如果你有可能使用桌面环境(就像我正在做的),我会使用比较工具,在我看来,这是一个更加用户友好的工具
ticodexsqlschemacompare()这是一个很好的工具,可以在Linux、Windows和Mac上运行,可以比较MS-SQL、MySQL和PostgreSQL数据库的模式。易于使用和有效。这可能对你有帮助
为了使用它:
- 配置源数据库(指定服务器名、用户名、密码等)
- 配置目标数据库
- 如果要排除数据库对象或更改输出,则有一些选项
- 按下比较按钮
您将获得两个数据库之间的差异,最终还将获得迁移脚本,使目标数据库与源数据库完全相同。感谢链接。mssql scripter和diff为我做这项工作。我也测试了ticodex sql schema compare,发现它也创建了迁移脚本——但目前我不需要它,因为更改很容易。谢谢链接。mssql scripter和diff为我做这项工作。我还测试了ticodex sql schema compare,并看到它也创建了迁移脚本——但目前我不需要这样做,因为更改很容易。感谢您提供此解决方案。正如您所说的,它在我的机器上也可以工作,但是mssql scripter在我的DBs上比sqlpackage快得多-sqlpackage的报告比diff好,但是diff为我做了这项工作;-)谢谢你的解决方案。正如您所说的,它在我的机器上也可以工作,但是mssql scripter在我的DBs上比sqlpackage快得多-sqlpackage的报告比diff好,但是diff为我做了这项工作;-)