• david.avraamides (10/27/2010)


    I'm curious how your tools handle changes to the schema once your DB is in production and your tables are populated. What is the process for adding a new column or for breaking one table into two tables or factoring some columns out of a table into a new related table? These are the types of real DB life-cycle maintenance tasks that I've found challenging to do with any tool or framework.

    Dave: Because RAP looks into the database (rather than your original and perhaps unchanged schema design), it can always regenerate all the code that corresponds to the tables whose schemas you have changed.

    So the procedure is: 1) alter the schema using any method you choose, so long as you don't modify or eliminate any of the RAP-required fields (remember you must alter both the "current" table and also the "archive" table in each table pair; then 2) run the RAP database generator, unchecking the option to generate the "archive" table - this rewrites all your access routines, and finally 3) regenerate all your data-layer objects using the database generator, and copy the generated code verbatim into your application's data layer (just like you did the first time when creating the app).

    That's all there is to it. In a few seconds RAP regenerates both the routines in your database and the objects in your application data layer, and all the code is error-free.