I'm working on a project in which we are incrementally replacing an existing application. By incrementally I mean some features will be developed and shipped in the new application, and those features will be "deprecated" in the old application, but still available. The deprecated features will then be removed from the old application in a future release.
This means that existing data needs to be imported into the new application, as well as new data created using the old application.
One potential solution is to set up methods to import data from the old database, and run those each time any new data is entered in the old database. This would mean that the data should probably be tracked to avoid trying to import every single row every time there's any change. I guess this could be done with a boolean field in the old database tables.
Am I on the right track here? Is there an established solution to this problem?