Customization of DatabaseManager Operations

We need the possibility to register own DDL-statements that will be executed by the DatabaseManager.

For example, Aurelius does not CreateUniqueKeys for existing Tables.
ISQLGenerator already provides GenerateCreateUniqueKey.

So we could create our own Schema.Commands and Schema.Messages, that would be used within TDatabaseManager.Validate.
We can register our own SQL-Generator, as we did, that provides the necessary GenerateCreateUniqueKey
If TDatabaseManager - Method ActionUniqueKeyAdded would be protected virtual; we could override this and change the Commands and Messages. At Least the CommandOrder within ProcessCommands needs to be extended, so that the Command will be executed in correct order.

Another Example, Aurelius does not change Not nullable columns to nullable.
For this Example the previous solution would work except that ISQLGenerator does not provide any method to create the necessary statement. (We could just leave that and create the statement within our Schema.Command, but it would be nice, if there is just one Method recieving a Parameter from Type TMetadataInfo and another one from type TDDLCommand, so that we could use this Method for all Statements, ISQLGenerator does not provide a method.

I hope you got my drift.