IP Library Granted Patent US 11,494,349
Granted Patent B2
US 11,494,349 · App. 16/953,411 · Granted Nov 8, 2022

Code packager with SQL parser

Inventors: Peter James Pickerill (Austin, TX); Nathan Owen Voxland (Moorhead, MN)
Assignee: LIQUIBASE INC.
G06F16/213G06F8/60G06F8/76G06F8/77
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,494,349
App. No.
16/953,411
Granted
Nov 8, 2022
Kind
B2
Abstract

Database servers may maintain a database according to a database schema. A database change management system can include a profile service configured to collect database profile information. A forecast service can be configured to use SQL parsing to generate change objects and generate a forecast report indicative of a prediction of a failure or success of an implementation of the set of changes.

Claims (56)

1. A database change management system, comprising:

a database server maintaining a database according to a database schema;

a data database change management system coupled to the database server, the database change management system including a processor and a non-transitory computer readable medium storing computer executable instructions executable to provide a set of services comprising:

a packaging service configured to:

retrieve SQL scripts from a source code manager repository, the SQL scripts configured for a packaging job for a project, the package job relating to a set of changes to a database;

package the SQL scripts as changes based on a configuration for the project by generating changesets pointing to corresponding SQL scripts;

strip out SQL comments from the SQL scripts;

substitute SQL properties of one or more attribute values;

replace package blocks with placeholders;

split SQL text into individual blocks of SQL statements;

tokenize each of the blocks of SQL statements to generate tokenized SQL statements;

parse the tokenized SQL statements into change objects;

generate a forecast report by applying changes in the change objects to a reference database, wherein the forecast report is indicative of a prediction of a failure or success of an implementation of the set of changes to the reference database; and

responsive to a predicted implementation success, deploy the set of changes to the reference database.

2. The database change management system of claim 1 , further comprising responsive to a predicted implementation failure, restore the reference database to a previous state.

3. The database change management system of claim 1 , further comprising responsive to a predicted implementation success, store the project, including associated database changes, in an artifact store for deployment in a production tier.

4. The database change management system of claim 1 , further comprising, responsive to retrieving SQL scripts from the source code manager repository, checking the retrieved SQL scripts for compliance with SQL compliance rules.

5. The database change management system of claim 1 , further comprising backing up the reference database.

6. The database change management system of claim 1 , wherein, if the SQL scripts include rollbacks, running the SQL scripts against the reference database to execute the rollbacks prior to generating the forecast report.

7. A method for database change management comprising, at a first computing device communicatively coupled to a database server:

opening a connection from the first computing device to a database maintained by the database server according to a database schema;

retrieving SQL scripts from a source code manager repository, the SQL scripts configured for a packaging job for a project, the package job relating to a set of changes to a database;

packaging the SQL scripts as changes based on a configuration for the project by generating changesets pointing to corresponding SQL scripts;

stripping out SQL comments from the SQL scripts;

substituting SQL properties of one or more attribute values;

replacing package blocks with placeholders;

splitting SQL text into individual blocks of SQL statements;

tokenizing each of the blocks of SQL statements to generate tokenized SQL statements;

parsing the tokenized SQL statements into change objects;

generating a forecast report by applying changes in the change objects to a reference database, wherein the forecast report is indicative of a prediction of a failure or success of an implementation of the set of changes to the reference database; and

responsive to a predicted implementation success, deploying the set of changes to the reference database.

8. The method of claim 7 , further comprising responsive to a predicted implementation failure, restoring the reference database to a previous state.

9. The method of claim 7 , further comprising responsive to a predicted implementation success, storing the project, including associated database changes, in an artifact store for deployment in a production tier.

10. The method of claim 7 , further comprising, responsive to retrieving SQL scripts from the source code manager repository, checking the retrieved SQL scripts for compliance with SQL compliance rules.

11. The method of claim 7 , further comprising backing up the reference database.

12. The method of claim 7 , wherein, if the SQL scripts include rollbacks, running the SQL scripts against the reference database to execute the rollbacks prior to generating the forecast report.

13. A database change management system comprising:

a processor;

a non-transitory computer-readable medium; and

stored instructions translatable by the processor, the stored instructions when translated and executed by the processor cause the database change management system to perform:

opening a connection from the first computing device to a database maintained by the database server according to a database schema;

retrieving SQL scripts from a source code manager repository, the SQL scripts configured for a packaging job for a project, the package job relating to a set of changes to a database;

packaging the SQL scripts as changes based on a configuration for the project by generating changesets pointing to corresponding SQL scripts;

stripping out SQL comments from the SQL scripts;

substituting SQL properties of one or more attribute values;

replacing package blocks with placeholders;

splitting SQL text into individual blocks of SQL statements;

tokenizing each of the blocks of SQL statements to generate tokenized SQL statements;

parsing the tokenized SQL statements into change objects;

generating a forecast report by applying changes in the change objects to a reference database, wherein the forecast report is indicative of a prediction of a failure or success of an implementation of the set of changes to the reference database; and

responsive to a predicted implementation success, deploying the set of changes to the reference database.

14. The database change management system of claim 13 , wherein the stored instructions when translated and executed by the processor further cause the database change management system to, responsive to a predicted implementation failure, restoring the reference database to a previous state.

15. The database change management system of claim 13 , wherein the stored instructions when translated and executed by the processor further cause the database change management system to, responsive to a predicted implementation success, storing the project, including associated database changes, in an artifact store for deployment in a production tier.

16. The database change management system of claim 13 , wherein the stored instructions when translated and executed by the processor further cause the database change management system to, responsive to retrieving SQL scripts from the source code manager repository, checking the retrieved SQL scripts for compliance with SQL compliance rules.

17. The database change management system of claim 13 , wherein the stored instructions when translated and executed by the processor further cause the database change management system to back up the reference database.

18. The database change management system of claim 13 , wherein the stored instructions when translated and executed by the processor further cause the database change management system to, if the SQL scripts include rollbacks, running the SQL scripts against the reference database to execute the rollbacks prior to generating the forecast report.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2025
From: WESTERN ALLIANCE BANK, AN ARIZONA CORPORATION
To: LIQUIBASE INC.
Reel/Frame 071330/0054 →
MERGER AND CHANGE OF NAME Recorded Aug 6, 2021
From: DATICAL, INC.; LIQUIBASE INC.
To: LIQUIBASE INC.
Reel/Frame 057115/0864 →
SECURITY INTEREST Recorded Apr 19, 2021
From: DATICAL, INC.
To: WESTERN ALLIANCE BANK, AN ARIZONA CORPORATION
Reel/Frame 055959/0423 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2020
From: PICKERILL, PETER JAMES; VOXLAND, NATHAN OWEN
To: DATICAL, INC.
Reel/Frame 054691/0574 →
Continuity (2)
Provisional Application 62939395 · Nov 22, 2019
Related Publication 20210157775A1 · May 27, 2021