Toad World® Forums

Question about Schema Compare with Devops Toolkit


#1

Hi, i’m trying to recreate some of my current jobs i run with Toad for Oracle Automation Designer with Toad DevOps Toolkit and i’m having some trouble figuring some things out. For instance, is it possible to create schema snapshot files without running an actual schema comparison?

In my current scenario, i create schema snapshots of all of the schema targets i need to compare to the source, then i run some powershell to replace schema names within the snapshot, then run the compare with the source schema snapshot. I run the compares using snapshots for speeds sake and will need to continue this process.

Any insight would be great!

Scott


#2

Hi Scott,

TDT runs Schema Compare the same way Toad does. So, no, it’s not possible to create the snapshot files without running the actual comparison. However, the actual comparison is one of the fastest parts of the whole process (the slowest being running the queries, which you’d have to do anyway to create the snapshot files).

So if you want to create your snapshot files with TDT rather than Toad (of course with Toad you could use Generate Schema Script to just create the files), You might want to create one run to create the snapshot files, and ignore the comparison results, then make your mods to the snapshot files, and finally do a 2nd schema compare run (this is the one where the results matter), except this time using the snapshot files.

-John


#3

Thanks for the feedback John!

After speaking with my team it seems the best way for us to accomplish our process is going to be to create the snapshots using Toad Generate Schema Script and then using Devops Toolkit to run the compare and execute scripts.

I’ve been playing around with executing the schema compare, but it seems that you still need to connect to the database to run the compare, even when only comparing snapshots. Is that correct? Also, would you be able to send me an example of running the schema compare using snapshots instead of live database?

-Scott


#4

I think you found a bug. I can’t get snapshot file to compare at all. The script below is about as simple as you can get. For me, it gives a “target schema is not defined”.

Start TDT

$TDT = New-Object -ComObject ‘Toad.ToadAutoObject’

Set Schema Compare Parameters

$TDT.CompareSchemas.StorageOptions.IncludeAll()
$TDT.CompareSchemas.TypeOptions.IncludeAll()
$TDT.CompareSchemas.ObjectTypes.IncludeAll()

#-- Setting Source Snapshot
$TDT.CompareSchemas.Source.Snapshot = “C:\Temp\Snapshot1.SDXML”;

#-- Setting Target Snapshot
$TDT.CompareSchemas.Target.Snapshot = “C:\Temp\Snapshot2.SDXML”;

Running Schema Compare

$TDT.CompareSchemas.Execute()

Getting Compare script and Diff Details report

$Script = $TDT.CompareSchemas.GetScript()
$Script | Out-File -FilePath “C:\Temp\SchemaCompare_Script.sql” -Force
$DifferenceDetailsHTML = $TDT.CompareSchemas.GetDifferenceDetailsHTML()
$DifferenceDetailsHTML | Out-File -FilePath “C:\Temp\SchemaCompare_DiffDetails.html” -Force

Quit TDT

$TDT.Quit()


#5

Ok, good! I am basically running that exact same script you sent and i was getting the same error. I thought i might have been doing something wrong.

is there a Beta version of Devops Toolkit where i can test new updates?


#6

At this point there is no beta program for TDT. Version 1.1 is due out in May.