1. A method comprising: selecting one or more selected program elements from a plurality of program elements, wherein the selecting uses metadata, the metadata describes the plurality of programming elements, the metadata and at least some of the plurality of programming elements are stored in a configuration repository, and the metadata identifies a migration process type, a database version of an end-user platform, and migration steps needed to perform a software migration for the migration process type and the database version, and generating one or more migration scripts, wherein the one or more migration scripts comprises the selected program element(s).