19
Views
1
Comments
Solved
Managing OS Database Schemas Evolutions
Question

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

mvp_badge
MVP
Rank: #68
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