Unified Database Deployment Package for Schema Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Ensuring that an application and its appropriate schema information and data from the database are deployed correctly across different environments, such as from a development to a production environment, is a challenge.

Innovation Solution

A deployment package is created that includes code and data encoding database operations, which, when executed, creates or updates a target database to ensure consistency and compatibility with the application, using a development tool to combine code, database schema, and custom scripts into a unified package for installation on a target entity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If test data is transferred to production environment, then application testing can be performed, but data security and privacy are compromised

Engineering Contradiction:
Improveapplication testingVSAvoiddata security risk
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The patent segments the deployment process by separating application code from test data. The deployment package includes only the application code and necessary schema information, while test data remains isolated in the development environment. This segmentation allows the application to be deployed and tested without transferring sensitive test data to the production environment.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a copy of the database schema structure without copying the actual test data. The deployment package includes schema information that allows the production database to be structured identically to the test database, enabling application testing without transferring sensitive data. Application logic can be tested against the schema structure using production-safe data.

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If database schema and data are deployed separately, then deployment flexibility is improved, but deployment complexity increases

Engineering Contradiction:
Improvedeployment flexibilityVSAvoiddeployment process
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent merges the database schema information with the application code into a single deployment package. The deployment package includes both the application code and the necessary database schema information in a unified format, simplifying the deployment process while maintaining the flexibility to deploy to different environments. This merging eliminates the need for separate deployment steps for code and schema.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If application code is deployed without database operations, then deployment speed is improved, but database consistency is compromised

Engineering Contradiction:
Improvedeployment speedVSAvoiddatabase consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent performs preliminary actions by including all necessary database schema information and operations within the deployment package before deployment begins. The schema information is prepared and packaged in advance, allowing database operations to be executed automatically as part of the deployment process without requiring separate post-deployment steps. This ensures database consistency is established during deployment rather than after.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8214393B2Integrating database deployment with code deployment
Publication Date: 2012.07.03 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8214393B2 patent drawing
  • US8214393B2 patent drawing
  • US8214393B2 patent drawing

AI summary

Aspects of the subject matter described herein relate to integrated database deployment. In aspects, code corresponding to a software project and data that encodes database operations are placed in a deployment package. When executed in a first environment such as a development environment, the code is arranged to access a first database of the first environment. The database operations indicated in the package may be used to create and/or update a second database of a target entity such that the second database is consistent for use by the code after the code is installed on the target entity.