Database migration sequencing using dynamic object-relationship diagram
First Claim
1. A database migration system comprising:
- at least one processor to execute machine readable instructions stored on at least one non-transitory computer readable medium, wherein the machine readable instructions are executable by the at least one processor to;
receive a database schema for a first database, the database schema including objects in the first database;
generate a dynamic object-relationship model for each object in the first database starting from a root object, wherein to generate the dynamic object-relationship model for each object, the at least one processor is to;
determine an object attribute of a child object in the first database based on the database schema;
determine whether the object attribute of the child object is a reference to another object in the first database;
in response to determining the object attribute of the child object is the reference to the another object,determine whether the object attribute of the child object is editable or creatable, including determining if the object attribute of the child object refers to data outside of the child object;
based on a determination that the object attribute of the child object is editable or creatable, determine whether the object attribute of the child object references itself;
classify the child object as a self-related object when the child object references itself, or as a direct cross-related object when the child object does not reference itself;
based on a determination that the object attribute of the child object is non-editable or non-creatable, wherein the object attribute of the child object is non-editable or non-creatable if the object attribute of the child object denotes a parent-child relationship, determine whether the child object is a foreign key of another object;
classify the child object as an indirect cross-related object when the child object is a foreign key, and classify the child object as a parent-child related object when the child object is not a foreign key; and
determine an object sequence for migrating the objects in the first database to a second database according to the dynamic object-relationship model, including prioritizing parents in an identified parent-child relationship followed by siblings of the child object in the identified parent-child relationship.
1 Assignment
0 Petitions
Accused Products
Abstract
A database migration system, according to an example of the present disclosure, builds a dynamic object-relationship model of a database and determines a sequence of data migration for moving data from one database to another. The system may determine a dynamic object-relationship model based on a traversal of the database schema from a root object. The system may determine object attributes for child objects in the object database. In an example, an object attribute may be a relationship between the object and another object, or a property of the object. The system may build a dynamic object-relationship model based on the determined object attributes. The system may also determine a sequence for migrating the objects in the database that does not result in missing objects or missing object attributes based on the dynamic object-relationship model.
-
Citations
20 Claims
-
1. A database migration system comprising:
-
at least one processor to execute machine readable instructions stored on at least one non-transitory computer readable medium, wherein the machine readable instructions are executable by the at least one processor to; receive a database schema for a first database, the database schema including objects in the first database; generate a dynamic object-relationship model for each object in the first database starting from a root object, wherein to generate the dynamic object-relationship model for each object, the at least one processor is to; determine an object attribute of a child object in the first database based on the database schema; determine whether the object attribute of the child object is a reference to another object in the first database; in response to determining the object attribute of the child object is the reference to the another object, determine whether the object attribute of the child object is editable or creatable, including determining if the object attribute of the child object refers to data outside of the child object; based on a determination that the object attribute of the child object is editable or creatable, determine whether the object attribute of the child object references itself; classify the child object as a self-related object when the child object references itself, or as a direct cross-related object when the child object does not reference itself; based on a determination that the object attribute of the child object is non-editable or non-creatable, wherein the object attribute of the child object is non-editable or non-creatable if the object attribute of the child object denotes a parent-child relationship, determine whether the child object is a foreign key of another object; classify the child object as an indirect cross-related object when the child object is a foreign key, and classify the child object as a parent-child related object when the child object is not a foreign key; and determine an object sequence for migrating the objects in the first database to a second database according to the dynamic object-relationship model, including prioritizing parents in an identified parent-child relationship followed by siblings of the child object in the identified parent-child relationship. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A database migration system comprising:
-
at least one processor to execute machine readable instructions stored on at least one non-transitory computer readable medium, wherein the machine readable instructions are executable by the at least one processor to; receive a database schema for a first database, the database schema including objects in the first database; generate a dynamic object-relationship model for the first database for each object starting from a root object; determine an object sequence for migrating the objects in the first database to a second database based on relationships expressed in the dynamic object-relationship model, including prioritizing parents in an identified parent-child relationship followed by siblings of a child object in the identified parent-child relationship; update the dynamic object-relationship model for new objects in the first database; and determine a delta object sequence for migrating the objects in the first database to the second database according to the dynamic object-relationship model. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A method for migrating objects from a first database to a second database, the method comprising:
-
determining an object attribute of a child object based on a database schema; determine whether the object attribute of the child object is a reference to another object in the first database; determining whether the object attribute of the child object is editable or creatable including determining if the object attribute of the child object refers to data outside of the child object; based on the determination that the object attribute of the child object is editable or creatable, determining whether the child object references itself; classifying the child object as a self-related object when the child object references itself or classifying the child object as a direct cross-related object when the child object does not reference itself; based on the determination that the object attribute of the child object is non-editable or non-creatable, wherein the object attribute of the child object is non-editable or non-creatable if the object attribute of the child object denotes a parent-child relationship, determining whether the child object is a foreign key of another object; classifying the child object as an indirect cross-related object when the child object is a foreign key or classifying the child object as a parent-child related object when the child object is not a foreign key; generating a dynamic object-relationship model for the first database for each object in the database schema starting from a root object; and determining an object sequence for migrating the objects from the first database to a second database according to the dynamic object-relationship model. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification