SlideShare a Scribd company logo
1 of 34
Everything You Need to
Know About Migrating
Applications
| Everything You Need to Know About Migrating Applications
Duarte Ferreira
Developer | DoItLean
@ duarte.ferreira@doitlean.com
| Everything You Need to Know About Migrating Applications
Why Do We Care About
This?
| Everything You Need to Know About Migrating Applications
| Everything You Need to Know About Migrating Applications
| Everything You Need to Know About Migrating Applications
● User Training
● Performance
Tuning
| Everything You Need to Know About Migrating Applications
| Everything You Need to Know About Migrating Applications
| Everything You Need to Know About Migrating Applications
● REST / SOAP
endpoints
● Site Properties
● Timer scheduling
Things to Remember
| Everything You Need to Know About Migrating Applications
And of course . . .
The Data
| Everything You Need to Know About Migrating Applications
First Things First
| Everything You Need to Know About Migrating Applications
| Everything You Need to Know About Migrating Applications
Rogue
Foreign Keys
They can and will come
back to haunt you!
| Everything You Need to Know About Migrating Applications
| Everything You Need to Know About Migrating Applications
| Everything You Need to Know About Migrating Applications
● What is the type of data
stored?
● How many records does it
hold?
● How many attributes does it
have?
| Everything You Need to Know About Migrating Applications
| Everything You Need to Know About Migrating Applications
On Premise
Follow the guide
provided by
OutSystems
| Everything You Need to Know About Migrating Applications
Cloudy with a 60%
chance of trouble
● Not able to clone and
restore the Database
● Not able to change the DB
rules
| Everything You Need to Know About Migrating Applications
Tackling the Beast
| Everything You Need to Know About Migrating Applications
Step by Step
| Everything You Need to Know About Migrating Applications
| Everything You Need to Know About Migrating Applications
Fetching
| Everything You Need to Know About Migrating Applications
Mapping
| Everything You Need to Know About Migrating Applications
● Table Name of the
entity being inserted
● Source Id
● Destination Id
| Everything You Need to Know About Migrating Applications
| Everything You Need to Know About Migrating Applications
Update
| Everything You Need to Know About Migrating Applications
| Everything You Need to Know About Migrating Applications
There is Always a But . . .
| Everything You Need to Know About Migrating Applications
Users Entity
| Everything You Need to Know About Migrating Applications
Process Data
| Everything You Need to Know About Migrating Applications
Make the Good, Better!
| Everything You Need to Know About Migrating Applications
Reusable Thinking
Thank You!
@ Duarte.ferreira@doitlean.com

More Related Content

What's hot

Organizing an eng team
Organizing an eng teamOrganizing an eng team
Organizing an eng team
Jack Heart
 

What's hot (20)

Organizing an eng team
Organizing an eng teamOrganizing an eng team
Organizing an eng team
 
Lessons learned from 6 month project with india based software house
Lessons learned from 6 month project with india based software houseLessons learned from 6 month project with india based software house
Lessons learned from 6 month project with india based software house
 
What Is Light BPT and How Can You Use it for Parallel Processing?
What Is Light BPT and How Can You Use it for Parallel Processing?What Is Light BPT and How Can You Use it for Parallel Processing?
What Is Light BPT and How Can You Use it for Parallel Processing?
 
Fixed distributed agile
Fixed distributed agile Fixed distributed agile
Fixed distributed agile
 
Agile Israel 2017 bugs zero by Arlo Belshee
Agile Israel 2017 bugs zero by Arlo BelsheeAgile Israel 2017 bugs zero by Arlo Belshee
Agile Israel 2017 bugs zero by Arlo Belshee
 
Accessibility in Low-Code: Applications with no Limits
Accessibility in Low-Code: Applications with no LimitsAccessibility in Low-Code: Applications with no Limits
Accessibility in Low-Code: Applications with no Limits
 
Wonders of Portfolio = Long Term Planning + Agility
Wonders of Portfolio = Long Term Planning + AgilityWonders of Portfolio = Long Term Planning + Agility
Wonders of Portfolio = Long Term Planning + Agility
 
Monitoring via Datadog
Monitoring via DatadogMonitoring via Datadog
Monitoring via Datadog
 
How Tempo Adds More Value To Your JIRA
How Tempo Adds More Value To Your JIRAHow Tempo Adds More Value To Your JIRA
How Tempo Adds More Value To Your JIRA
 
Automated Page Composition - STM eProduction 2014
Automated Page Composition - STM eProduction 2014Automated Page Composition - STM eProduction 2014
Automated Page Composition - STM eProduction 2014
 
Hybrid project mgmt
Hybrid project mgmtHybrid project mgmt
Hybrid project mgmt
 
Performance Tuning with Execution Plans
Performance Tuning with Execution PlansPerformance Tuning with Execution Plans
Performance Tuning with Execution Plans
 
Robotic Process Automation Development
Robotic Process Automation DevelopmentRobotic Process Automation Development
Robotic Process Automation Development
 
Hotel employee schedule software for your company
Hotel employee schedule software for your companyHotel employee schedule software for your company
Hotel employee schedule software for your company
 
Building and Supporting Billion Dollar Ships with JIRA - Greg Warner
Building and Supporting Billion Dollar Ships with JIRA - Greg WarnerBuilding and Supporting Billion Dollar Ships with JIRA - Greg Warner
Building and Supporting Billion Dollar Ships with JIRA - Greg Warner
 
Delivering Projects the Pivotal Way
Delivering Projects the Pivotal WayDelivering Projects the Pivotal Way
Delivering Projects the Pivotal Way
 
How to work faster by building your design systems with Webflow - No Code Con...
How to work faster by building your design systems with Webflow - No Code Con...How to work faster by building your design systems with Webflow - No Code Con...
How to work faster by building your design systems with Webflow - No Code Con...
 
Agile Approach: How to Identify Requirements, Contain Scope, and Manage Budget
Agile Approach: How to Identify Requirements, Contain Scope, and Manage BudgetAgile Approach: How to Identify Requirements, Contain Scope, and Manage Budget
Agile Approach: How to Identify Requirements, Contain Scope, and Manage Budget
 
Supervise your Akka actors
Supervise your Akka actorsSupervise your Akka actors
Supervise your Akka actors
 
Timesheet Workshop: The Timesheet App People Love!
Timesheet Workshop: The Timesheet App People Love!Timesheet Workshop: The Timesheet App People Love!
Timesheet Workshop: The Timesheet App People Love!
 

Similar to Everything You Need to Know About Migrating Applications

Strangler application
Strangler applicationStrangler application
Strangler application
rajivnarula
 
RPA-2020 to 2021.pptx
RPA-2020 to 2021.pptxRPA-2020 to 2021.pptx
RPA-2020 to 2021.pptx
ksrce2
 

Similar to Everything You Need to Know About Migrating Applications (20)

NTC17 For the Love of Volunteers.pptx
NTC17   For the Love of Volunteers.pptxNTC17   For the Love of Volunteers.pptx
NTC17 For the Love of Volunteers.pptx
 
No API? No Problem! Let the Robot Do Your Work! Web Scraping and Automation W...
No API? No Problem! Let the Robot Do Your Work! Web Scraping and Automation W...No API? No Problem! Let the Robot Do Your Work! Web Scraping and Automation W...
No API? No Problem! Let the Robot Do Your Work! Web Scraping and Automation W...
 
Monitoring and automation
Monitoring and automationMonitoring and automation
Monitoring and automation
 
AppDynamics User Group
AppDynamics User GroupAppDynamics User Group
AppDynamics User Group
 
How to build a data-driven SAP S/4HANA Business Case using Digital Maps
How to build a data-driven SAP S/4HANA Business Case using Digital MapsHow to build a data-driven SAP S/4HANA Business Case using Digital Maps
How to build a data-driven SAP S/4HANA Business Case using Digital Maps
 
Mobile App Testing by Mark Wilson
Mobile App Testing by Mark WilsonMobile App Testing by Mark Wilson
Mobile App Testing by Mark Wilson
 
Strangler application
Strangler applicationStrangler application
Strangler application
 
Alphabet Soup: A(utomation), BC (Business Continuity) and DR (Disaster Recovery
Alphabet Soup: A(utomation), BC (Business Continuity) and DR (Disaster RecoveryAlphabet Soup: A(utomation), BC (Business Continuity) and DR (Disaster Recovery
Alphabet Soup: A(utomation), BC (Business Continuity) and DR (Disaster Recovery
 
Getting Started with Data Integration: FME Desktop
Getting Started with Data Integration: FME DesktopGetting Started with Data Integration: FME Desktop
Getting Started with Data Integration: FME Desktop
 
Unified Operations Vision
Unified Operations VisionUnified Operations Vision
Unified Operations Vision
 
ERPNext Enterprise Resource Planning System
ERPNext Enterprise Resource Planning SystemERPNext Enterprise Resource Planning System
ERPNext Enterprise Resource Planning System
 
How to Gather Software Product Requirements for IT Solutions
How to Gather Software Product Requirements for IT SolutionsHow to Gather Software Product Requirements for IT Solutions
How to Gather Software Product Requirements for IT Solutions
 
reverse engineering.pptx
reverse engineering.pptxreverse engineering.pptx
reverse engineering.pptx
 
AWS Summit Singapore - Automation & Augmentation Driven by AI, Enabling Self-...
AWS Summit Singapore - Automation & Augmentation Driven by AI, Enabling Self-...AWS Summit Singapore - Automation & Augmentation Driven by AI, Enabling Self-...
AWS Summit Singapore - Automation & Augmentation Driven by AI, Enabling Self-...
 
App development questionnaire3
App development questionnaire3App development questionnaire3
App development questionnaire3
 
Everything you need to know about Associate Android Developer
Everything you need to know about Associate Android DeveloperEverything you need to know about Associate Android Developer
Everything you need to know about Associate Android Developer
 
Collier Consulting, Inc. : Components for Custom GCD Water Management Softwa...
 Collier Consulting, Inc. : Components for Custom GCD Water Management Softwa... Collier Consulting, Inc. : Components for Custom GCD Water Management Softwa...
Collier Consulting, Inc. : Components for Custom GCD Water Management Softwa...
 
Vehicle Tracking System (VTS)
Vehicle Tracking System (VTS)Vehicle Tracking System (VTS)
Vehicle Tracking System (VTS)
 
Ramco's Product Philosophy
Ramco's Product Philosophy Ramco's Product Philosophy
Ramco's Product Philosophy
 
RPA-2020 to 2021.pptx
RPA-2020 to 2021.pptxRPA-2020 to 2021.pptx
RPA-2020 to 2021.pptx
 

More from OutSystems

More from OutSystems (20)

Innovating at the Speed of Business in the High-Bandwidth World of Digital Media
Innovating at the Speed of Business in the High-Bandwidth World of Digital MediaInnovating at the Speed of Business in the High-Bandwidth World of Digital Media
Innovating at the Speed of Business in the High-Bandwidth World of Digital Media
 
Beyond “Location”: Informing Real-Estate Decisions Through Innovative Technology
Beyond “Location”: Informing Real-Estate Decisions Through Innovative TechnologyBeyond “Location”: Informing Real-Estate Decisions Through Innovative Technology
Beyond “Location”: Informing Real-Estate Decisions Through Innovative Technology
 
Beyond Digital Transformation: A Mandate for Disruptive Innovation in the Age...
Beyond Digital Transformation: A Mandate for Disruptive Innovation in the Age...Beyond Digital Transformation: A Mandate for Disruptive Innovation in the Age...
Beyond Digital Transformation: A Mandate for Disruptive Innovation in the Age...
 
From Core Systems to Mobile Apps: Digital Transformation from the Inside-Out
From Core Systems to Mobile Apps: Digital Transformation from the Inside-OutFrom Core Systems to Mobile Apps: Digital Transformation from the Inside-Out
From Core Systems to Mobile Apps: Digital Transformation from the Inside-Out
 
Orchestrating the Art of the Impossible Using Low-Code to Automate Manual Wor...
Orchestrating the Art of the Impossible Using Low-Code to Automate Manual Wor...Orchestrating the Art of the Impossible Using Low-Code to Automate Manual Wor...
Orchestrating the Art of the Impossible Using Low-Code to Automate Manual Wor...
 
Fast and Furious: Modernizing Clinical Application
Fast and Furious: Modernizing Clinical ApplicationFast and Furious: Modernizing Clinical Application
Fast and Furious: Modernizing Clinical Application
 
Enrich Visually Google Map Information With Layers
Enrich Visually Google Map Information With LayersEnrich Visually Google Map Information With Layers
Enrich Visually Google Map Information With Layers
 
Using Processes and Timers for Long-Running Asynchronous Tasks
Using Processes and Timers for Long-Running Asynchronous TasksUsing Processes and Timers for Long-Running Asynchronous Tasks
Using Processes and Timers for Long-Running Asynchronous Tasks
 
Unattended OutSystems Installation
Unattended OutSystems InstallationUnattended OutSystems Installation
Unattended OutSystems Installation
 
The 4-Layer Architecture in Practice
The 4-Layer Architecture in PracticeThe 4-Layer Architecture in Practice
The 4-Layer Architecture in Practice
 
Speed up Development by Turning Web Blocks Into First-Class Citizens
Speed up Development by Turning Web Blocks Into First-Class CitizensSpeed up Development by Turning Web Blocks Into First-Class Citizens
Speed up Development by Turning Web Blocks Into First-Class Citizens
 
Service Actions
Service ActionsService Actions
Service Actions
 
Responsive Ui with Realtime Database
Responsive Ui with Realtime DatabaseResponsive Ui with Realtime Database
Responsive Ui with Realtime Database
 
Reactive Web Best Practices
Reactive Web Best PracticesReactive Web Best Practices
Reactive Web Best Practices
 
RADS - Rapid Application Design Sprint
RADS - Rapid Application Design SprintRADS - Rapid Application Design Sprint
RADS - Rapid Application Design Sprint
 
Pragmatic Innovation
Pragmatic InnovationPragmatic Innovation
Pragmatic Innovation
 
Troubleshooting Dashboard Performance
Troubleshooting Dashboard PerformanceTroubleshooting Dashboard Performance
Troubleshooting Dashboard Performance
 
Neo in Wonderland: Essential Tools for an Outsystems Architect
Neo in Wonderland: Essential Tools for an Outsystems ArchitectNeo in Wonderland: Essential Tools for an Outsystems Architect
Neo in Wonderland: Essential Tools for an Outsystems Architect
 
Measure Customer Experience of Your OutSystems Web and Mobile Applications
Measure Customer Experience of Your OutSystems Web and Mobile ApplicationsMeasure Customer Experience of Your OutSystems Web and Mobile Applications
Measure Customer Experience of Your OutSystems Web and Mobile Applications
 
Link Users to Your Specific Page in a Mobile App With Deeplinks
Link Users to Your Specific Page in a Mobile App With DeeplinksLink Users to Your Specific Page in a Mobile App With Deeplinks
Link Users to Your Specific Page in a Mobile App With Deeplinks
 

Recently uploaded

%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 

Recently uploaded (20)

%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 

Everything You Need to Know About Migrating Applications

Editor's Notes

  1. Example - > Error in production reported by the key user’s goes along the way until the dev tries to replicate in order to apply a fix
  2. In order to resolve the issue, the devs first attempt to replicate it in the development environment
  3. Train a new set of users with the same data as the ones already using it and in this way not impacting in the other user’s experience Tuning timers and long running operations running in production, using real volume of data but again not impacting the users already using the production app
  4. First we must move the application code
  5. Provided from the box by OutSystems, you just need to go to lifetime and pick the applications that you want to migrate
  6. Now that the application’s code is done, that are still some things you should keep in mind Typically you don’t want to use the same endpoint across a prod environment and a testing one
  7. The Data Backup of the destination if it isn’t a clean slate
  8. Know your data model Entity dependencies What are the primary keys, how do you identify a single record Physical vs logical data model – know what tables are related to the applications that you want to migrate, active attributes
  9. Early decisions that are difficult to handle later Attribute not set as a foreign key in your meta model but used as one in your application
  10. Since you have analyzed the data model, now would be a good time to clean up after unused attributes or entities To truncate in a cloud infra you need to request access with a database management tool, via VPN You can use a supported tool like  DBCleaner_API
  11. Know your data
  12. Does it include binary data
  13. For On-Prem to On-Prem environments there is a guide provided by OS You can clone your DB and then restore it in the target You can disable the auto-number constraint if you want to start with a specific id You can disable the referential integrity of the model
  14. The environment is in OutSystems Cloud, not just cloud based If the source environment is cloud based to import the data you have 2 options : Direct database access credentials and third-party database tools, Develop your own data extraction mechanism with OutSystems. Target environment being cloud based – external databases ,you can use an external database(if you want to write over it in the migrated app) there is not much problem you just need to set it up in service center(but it would be stored as an external entity),cant restore the DB, the id’s of your entities are not guaranteed to be the same on both environments
  15. How can we do this migration
  16. Create new application responsible for the migration, one on the source environment and another at the destination environment to have a better control over the migration process
  17. Stop your application, go offline.
  18. Expose a service in the Original application, and then consume it in the destination. Create actions to handle specific entities, handle the migration entity by entity Scramble the data, including user access, re-use the same password for every login in the test environment Source application should be offline when fetching
  19. Every record inserted will have a new id, so we need to map the new id’s with the old ones Destination app should be offline when doing this
  20. Have a new entity with these fields to be able to map the id’s correctly Create a new record in this entity every time you insert a record
  21. Actions to update the foreign keys of entities using the created mapping entity Keep your migration help records until you update every reference to that table Create action that updates all the references and then deletes the mapping for that entity
  22. Start up the engines because you are good to go
  23. There are systems entities that point to the users entity so you should not delete records from this table and should look to merge results from one environment to the other The users records make use of a flag, so they are soft deleted(marked as non active) instead of being deleted from the table Move the records, and then for each record see if you have a corresponding user in the target DB(active or inactive) via username , create the records that do not find a match and update the others
  24. BPT, the processes related to BPT are stored in internal tables of OS so cannot be inserted into the DB
  25. Intro to automating
  26. When starting a new application develop it with a possible migration already in mind Create services to expose the data while developing, applying scrambling rules if valid Build an application that inspects the schema and determines the relationship between entities and that can run the necessary updates for the foreign keys