Patent ID: 8010578
Filing Date: 2011-08-30
Classification: G06F

Abstract:
1. A method implemented within a computer system that includes one or more processors and memory storing instructions which, when executed by the one or more processors, implement the method for modeling and simulating changes to a target database, the method comprising: generating a source model of a target database that comprises an offline source code representation of an original schema of the target database; modifying the source model with at least one refactoring operation that modifies the original schema to arrive at a modified schema, while preserving user intent of the at least one refactoring operation by monitoring one or more user actions performed via a developer user interface, the preserved user intent resolving ambiguities between a plurality of refactoring operations that could bring about the modified schema; generating a target model of the target database, wherein the target model comprises a source code representation of a current schema of the target database; analyzing the source model and the target model in order to produce one or more commands to modify the current schema of the target model to match the modified schema of the source model, the one or more commands including at least one command derived from the preserved user intent, wherein the producing of the one or more commands comprises collapsing a plurality of change commands used when modifying the source model into a single command by referring to a refactoring log; and executing one or more speculative changes to the target model in order to simulate results of an execution of the one or more produced commands to modify the target model, wherein generating the source model and/or generating the target model comprises an automated reverse-engineering of the target database via one or more queries on the target database.