Hello,

I need to track and organize database schema evolution, from Development to Production.

Which is the best procedure, in order to track database schema changes?

Deployed versus schema approved.


Main objectives:

1.Track schema changes;

2.Robust way to control the schema deploys on the production environment;

3.Keep all database schema synchronized.


Thank you very much for your help.

Best regards,

Paulo Saramago

Solution

Hello.

OutSystems manages the database so you have no data loss when you publish changes. it also keeps environments synchronized in structure.

https://success.outsystems.com/Documentation/11/Reference/OutSystems_Language/Data/Database_Reference/How_Data_Model_Changes_are_Handled

I'm guessing your question is "how to see if someone changed anything".

Personally I'd isolate the database in a Core module that is rarely opened, and by date track if something was changed.

https://success.outsystems.com/Support/Enterprise_Customers/Maintenance_and_Operations/Designing_the_architecture_of_your_OutSystems_applications/01_The_4_Layer_Canvas

And if changed, the merge functionality can detect differences in the Core module.


Regarding external documentation (including schemas), you can use tools like OutDoc

https://www.outsystems.com/forge/component-overview/159/outdoc

It helps if your teams follow Best Practices when commenting.

https://success.outsystems.com/Documentation/Best_Practices/Development/OutSystems_Platform_Best_Practices


Solution