# US 2014/0208303 A1 · Matching database schema with application code using dependency management

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0208303 A1
- Document ID: US20140208303A1
- Status: Published application
- Kind: A1
- Application number: 13/748,444
- Filed: 2013-01-23
- Published: 2014-07-24
- Earliest claimed: 2013-01-23
- Assignees: Red Hat Israel, Ltd.
- Applicants: Red Hat Israel, Ltd.
- Inventors: Moti Asayag; Yair Zaslavsky
- Web page: https://patentgrep.com/patent/US20140208303A1

## CPC

- G06F 8/61: Installation
- G06F 8/658: Incremental updates; Differential updates
- G06F 16/00: Information retrieval; Database structures therefor; File system structures therefor
- G06F 16/21: Design, administration or maintenance of databases
- G06F 9/45533: {Hypervisors; Virtual machine monitors}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A package manager receives a request to install a version of an application on a host server, the version of the application having an associated database script provided by database scripts package. The package manager determines a currently installed schema in a management database associated with the host server and compares the database script associated with the application to the currently installed schema in the management database. Prior to installing the version of the application, the package manager verifies that the database script is installed and updated to match the database schema and performs the database upgrade if required.

## Claims

### Claim 1

A method comprising:
receiving a request to install a version of an application on a server in a virtualization system, the version of the application having an associated database script;
determining a currently installed schema in a management database associated with the host server;
comparing, by a processing device, the database script associated with the application to the currently installed schema in the management database; and
prior to installing the version of the application, verifying that the database script is installed and updated to match the database schema.

### Claim 2 (depends on 1)

The method of claim 1, wherein:
the virtualization system comprises a plurality of host computers running a plurality of virtual machines associated with a plurality of virtual disks;
the server is a host controller coupled to the plurality of host computers;
the application comprises a virtualization management application to perform management operations in the virtualization system; and
the management database comprises a plurality of entries pertaining to one or more of the plurality of host computers, the plurality of virtual machines or the plurality of virtual disks.

### Claim 3 (depends on 1)

The method of claim 1, wherein the new version of the application comprises an upgrade to a previously installed version of the application.

### Claim 4 (depends on 1)

The method of claim 1, wherein the database script comprises a version identifier and wherein the schema comprises a schema identifier.

### Claim 5 (depends on 4)

The method of claim 4, wherein comparing the database script to the currently installed schema comprises comparing the version identifier of the database script and the schema identifier.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
if the database script is installed and updated to match the database schema, installing the version of the application specified in the request.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
if the database script is not installed and updated to match the database schema, upgrading the database with a new schema that is compatible with the database script.

### Claim 8

A system comprising:
a processing device; and
a memory coupled to the processing device; and
a package manager, executable by the processing device from the memory, to:
receive a request to install a version of an application on a host server, the version of the application having an associated database script;
determine a currently installed schema in a management database associated with the host server;
compare the database script associated with the application to the currently installed schema in the management database; and
prior to installing the version of the application, verify that the database script is installed and updated to match the database schema.

### Claim 9 (depends on 8)

The system of claim 8, wherein the application comprises a virtualization management application.

### Claim 10 (depends on 8)

The system of claim 8, wherein the new version of the application comprises an upgrade to a previously installed version of the application.

### Claim 11 (depends on 8)

The system of claim 8, wherein the database script comprises a version identifier and wherein the schema comprises a schema identifier.

### Claim 12 (depends on 11)

The system of claim 11, wherein to compare the database script to the currently installed schema, the package manager to compare the version identifier of the database script and the schema identifier.

### Claim 13 (depends on 8)

The system of claim 8, the package manager further to:
if the database script is installed and updated to match the database schema, install the version of the application specified in the request.

### Claim 14 (depends on 8)

The system of claim 8, the package manager further to:
if the database script is not installed and updated to match the database schema, upgrade the database with a new schema that is compatible with the database script.

### Claim 15

A non-transitory machine-readable storage medium storing instructions which, when executed, cause a processing device to perform operations comprising:
receiving a request to install a version of an application on a host server, the version of the application having an associated database script;
determining a currently installed schema in a management database associated with the host server;
comparing, by the processing device, the database script associated with the application to the currently installed schema in the management database; and
prior to installing the version of the application, verifying that the database script is installed and updated to match the database schema.

### Claim 16 (depends on 15)

The non-transitory machine-readable storage medium of claim 15, wherein the application comprises a virtualization management application.

### Claim 17 (depends on 15)

The non-transitory machine-readable storage medium of claim 15, wherein the new version of the application comprises an upgrade to a previously installed version of the application.

### Claim 18 (depends on 15)

The non-transitory machine-readable storage medium of claim 15, wherein the database script comprises a version identifier and wherein the schema comprises a schema identifier.

### Claim 19 (depends on 18)

The non-transitory machine-readable storage medium of claim 18, wherein comparing the database script to the currently installed schema comprises comparing the version identifier of the database script and the schema identifier.

### Claim 20 (depends on 15)

The non-transitory machine-readable storage medium of claim 15, the operations further comprising:
if the database script is installed and updated to match the database schema, installing the version of the application specified in the request.

### Claim 21 (depends on 15)

The non-transitory machine-readable storage medium of claim 15, the operations further comprising:
if the database script is not installed and updated to match the database schema, upgrading the database with a new schema that is compatible with the database script.
