Database reengineering consists of transforming a legacy database according to new technical requirements, while keeping the information contents unchanged. Substituting a modern data management system (relational DBMS for instance) for an outdated manager (typically standard file manager), or improving the logical schema to gain better performance are popular scenarios. Transformational engineering has proved to be both an elegant and efficient approach to perform these processes. At the present time, we are provided with sound concepts and techniques to model most database engineering processes, and particularly database migration as semantics-preserving transformations. Migrating the application programs is another hard challenge. Indeed, the size and the complexity of the source code of the programs make the latter difficult to migrate while maintaining the readability of the target code. In this talk, we will focus on the problem of data-centered application programs migration following the migration of their databases. We will explore the feasibility of transforming the application programs through code transformation patterns that are automatically derived from the database transformations. We will present the principles of a new transformational approach that couples database and programs migration and we will describe a prototype CASE tool based on this approach.