Breaking Changes UpdateDatabase

Hi,
  Update Aurelius 3.0 to 3.5 and TDatabaseManager.UpdateDatabase don't update database any more, on existing data base
 
procedure TDatabaseManager.UpdateDatabase;
begin
  ValidateDatabase;
  if SQLExecutionEnabled then
    ExecuteSQLStatements(SQLStatements, false);
   //ExecuteSQLStatements(SQLStatements, true); 2? param must be True,  
   //to IgnoreErrors on ExecuteSQLStatements
end;

if some exeption  raised like generator already exists, update is aborted.
I'm trying to rewrite UpdateDatabase method, but ExecuteSQLStatements is strict private

Thanks, Wagner


That's how it's supposed to be. But there is a regression in Aurelius.SQL.Firebird.pas file that maybe is the cause of your problem. Please contact us directly for a patch.

It appears to be having problems with generators in Firebird 2.5 too. When I verify my database it is showing all my generators as needing added again.


For example ...
Action: Sequence: GEN_GROUP_ID - Created.
but the generator actually exists

Steve, we have sent a patch to you as well.

Hi Wagner
   Patch does not work. After uninstall aurelius 3.5 and install 3.0 and compare units( Aurelius.Schema.Firebird.pas):
procedure TFirebirdSchemaRetriever.GetSequences;
begin
     ....
    'where (RDB$SYSTEM_FLAG is NULL) or (RDB$SYSTEM_FLAG <> 1) ' +     //V3.0, work fine
    'where (RDB$SYSTEM_FLAG is NULL) and not (RDB$SYSTEM_FLAG IN (1, 6)) ' +//V3.5, Don't Work
    'where (RDB$SYSTEM_FLAG is NULL) or (RDB$SYSTEM_FLAG = 0)' + // Patch , Don't Work
    ...
end;


thanks Wagner


That's strange, what Firebird version are you using? Is it possible that you send us the .fdb file and your entity classes? 

OK, sent
thanks

Just to close this topic, it was confirmed that the patch fixed the problem. A package rebuild was needed.