Single-database multiple-tenant software system upgrade
First Claim
1. A method, comprising:
- creating, in a database, a target database schema for a target version of a software system; and
upgrading a plurality of tenants in a current database schema of a current version of the software system to the target database schema, the upgrading comprising, for each tenant;
capturing a current state of data corresponding to the tenant in the current database schema;
transitioning, using at least one processor of a machine, the data corresponding to the tenant from the current database schema to the target database schema, the transitioning comprising transitioning a first data group of the data corresponding to the tenant in the current database schema to the target database schema while executing the tenant of the current database schema, and transitioning a second data group of the data corresponding to the tenant in the current database schema from the current database schema to the target database schema while the tenant of the current database schema is stopped;
testing to verify the tenant in the target database schema;
opening the tenant in the target database schema for users in response to the tenant in the target database schema being verified; and
restoring the tenant in the current database schema using the captured state in response to the tenant in the target database schema not being verified.
2 Assignments
0 Petitions
Accused Products
Abstract
Example systems and methods of upgrading a single-database, multiple-tenant software system are presented. In one example, a target database schema for a target version of the software system is created. For each tenant of a current database schema for a current version of the software system, a current state of the data corresponding to the tenant in the current database schema is captured. The data corresponding to the tenant is transitioned from the current database schema to the target database schema. The tenant in the target database schema is tested to verify the tenant. If the tenant in the target database schema is verified, the tenant in the target database schema is opened for users. If not verified, the tenant in the current database schema is restored using the captured state.
-
Citations
20 Claims
-
1. A method, comprising:
-
creating, in a database, a target database schema for a target version of a software system; and upgrading a plurality of tenants in a current database schema of a current version of the software system to the target database schema, the upgrading comprising, for each tenant; capturing a current state of data corresponding to the tenant in the current database schema; transitioning, using at least one processor of a machine, the data corresponding to the tenant from the current database schema to the target database schema, the transitioning comprising transitioning a first data group of the data corresponding to the tenant in the current database schema to the target database schema while executing the tenant of the current database schema, and transitioning a second data group of the data corresponding to the tenant in the current database schema from the current database schema to the target database schema while the tenant of the current database schema is stopped; testing to verify the tenant in the target database schema; opening the tenant in the target database schema for users in response to the tenant in the target database schema being verified; and restoring the tenant in the current database schema using the captured state in response to the tenant in the target database schema not being verified. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory computer-readable storage medium including instructions that, when executed by at least one processor of a machine, cause the machine to perform operations comprising:
-
creating, in a database, a target database schema for a target version of a software system; and upgrading, to the target database schema, a plurality of tenants in a current database schema of a current version of the software system, the upgrading comprising, for each tenant; capturing a current state of data corresponding to the tenant in the current database schema; transitioning the data corresponding to the tenant from the current database schema to the target database schema, the transitioning comprising transitioning a first portion of the data while the tenant in the current database schema is operating and transitioning a second portion of the data while the tenant in the current database schema is stopped; testing to verify the tenant in the target database schema; opening the tenant in the target database schema for users in response to the tenant in the target database schema being verified; and restoring the tenant in the current database schema using the captured state in response to the tenant in the target database schema not being verified. - View Dependent Claims (15, 16)
-
-
17. A system, comprising:
-
a database; at least one processor; and a database management module comprising instructions that, when executed by the at least one processor, cause the at least one processor to perform operations comprising; creating, in the database, a target database schema for a target version of a software system; and upgrading, to the target database schema, a plurality of tenants in a current database schema of a current version of the software system, the upgrading comprising, for each tenant; capturing a current state of data corresponding to the tenant in the current database schema; transitioning, using at least one processor of a machine, the data corresponding to the tenant from the current database schema to the target database schema, the transitioning comprising transitioning a first data group of the data corresponding to the tenant in the current database schema to the target database schema while executing the tenant of the current database schema, and transitioning a second data group of the data corresponding to the tenant in the current database schema from the current database schema to the target database schema while the tenant of the current database schema is stopped; testing to verify the tenant in the target database schema; opening the tenant in the target database schema for users in response to the tenant in the target database schema being verified; and restoring the tenant in the current database schema using the captured state in response to the tenant in the target database schema not being verified. - View Dependent Claims (18, 19, 20)
-
Specification