Bot releases are hidden (Show)
Published by nvoxland over 4 years ago
This release merges many community-contributed pull requests. Thanks to everyone who helps make the Liquibase community strong!
Published by nvoxland over 4 years ago
In this second beta for the new major version release, we
Please check out https://liquibase.jira.com/wiki/spaces/LB/pages/1274904689/Liquibase+Beta for details on how to get involved with the Liquibase 4.0beta2 test plan. Testing database extensions is the focus for Beta 2.
The goal is to uncover, document, and share all the issues that keep you from working how you want to work with Liquibase. Please test your setup and document any problems as new GitHub Issues or GitHub Code Contributions.
Published by nvoxland over 4 years ago
There are occasions when the Liquibase in-built JDBC connector has trouble processing highly-specialized or variable-rich SQL, and a more purpose-built tool, like SQL Plus or other executor, is required.
For Liquibase Open Source and Pro users, we are introducing an optional changeset attribute, called runWith="<executor>"
which allows you to specify an “executor” to run your SQL. This new capability works with changesets in Formatted SQL, XML, JSON or YAML changelogs which call inline SQL or sqlFile
tagged changesets. For Pro users, there is also a new liquibase.sqlplus.conf
file, which lives alongside your liquibase.properties or POM file, where you can optionally specify some useful key-value pairs for configuring your executor.
As a Liquibase Pro user, employ the new SQLPlus integration by simply adding runWith="sqlplus"
to a changeset, and have SQL Plus in your PATH (or configure it in the accompanying liquibase.sqlplus.conf
file). It’s now that easy to run your complex or specialized SQL changesets with SQL Plus.
As exciting, and true to open-source and open-extensibility, Liquibase Open Source users can now write their own classes to integrate their own executor. Say, for example, you need an encrypted JDBC tool, which you want to call as “ejdbc” from your changeset? Simply follow the included example so you can take advantage of this new feature:
runWith="ejdbc"
to select changesets to process them with your custom executorIn the Liquibase 3.10 release, you will also find a new bash script for MacOS / and Git Bash for Windows users called .liquibase-completion-mac.bash
. This script adds some ease of use to the CLI, including auto-complete of commands and and auto-rollout of parameters. This is a single bash script that will not affect any core Liquibase code, and can live alongside the existing bash script which has and will continue to ship with Liquibase.
Published by nvoxland over 4 years ago
Liquibase Pro can help you automate drift detection at scale in your database schemas with a new structured and machine readable diff output as json. This additional capability is an Pro extension to the existing community command "diff", and is invoked with a new --format option
$> liquibase diff --format=json
This outputs a JSON structured object listing the differences between two databases (as configured in your liquibase.properties or Maven POM file under the "url" and "referenceUrl" keys.) By default, the result is output to STDOUT, which provides you with maximum flexibility to pipe the result into other tools or a processing pipeline. You can also have the output delivered to a file, using the "--outputFile=<filename>"
global parameter, as in
$> liquibase --outputFile=myfile.json diff --format=json
Whether you choose STDOUT or a collection of files, you can then process this data to generate reports, to trigger actions, from alerts to diffChangeLogs, to updates, or whatever make sense for how you use Liquibase.
Published by nvoxland over 4 years ago
😎 Download Liquibase 4.0.0-beta1 in the Assets section at the bottom of this release note. 😎
In this major new version release, we have integrated dozens of community Pull Requests, addressing well over 100 bugs, in addition to the dozens of updates to the 3.8.x branches.
Please check out https://liquibase.jira.com/wiki/spaces/LB/pages/1274904689/Liquibase+Beta for details on how to get involved with the Liquibase 4.0beta1 test plan, including code and integrations tested, not tested, and not ready for test, yet.
The underlying goal of Beta testing is to uncover, document, and share all the issues that keep you from working how you want to work with Liquibase. Please test your setup and document any problems as new GitHub Issues or GitHub Code Contributions.
This Major version Beta release comes with the risks of all Beta software! We have tested dozens of PRs across multiple environments interacting with multiple databases, but we cannot test all the wildly diverse ways the community uses Liquibase. But you can! In this Beta we are counting on valuable community members — like you — to put this Beta through your paces and then to file (and possibly fix) any issues which you encounter in your specific setup and use cases.
We covered the following broad categories:
We made two major/breaking changes to the Liquibase Library API. These will affect anyone using extensions, but do NOT impact the main Liquibase functionality:
In addition to these two major changes, the following changes have been incorporated as well:
DatabaseList.definitionMatches
to match the dbms
tag against the database typePublished by nvoxland over 4 years ago
For both Liquibase Open Source and Pro users, the following bugs were fixed in version 3.8.9:
generateChangeLog
command to assume a diffTypes
that includes "data" when the dataOutputDirectory
parameter is used. Most users looking to export data as part of generateChangeLog
can now simply use the dataOuputDirectory
parameter without needing to specify diffTypes
.--schemas
parameter now works on either side of the snapshot
command.generatechangelog
in PostgreSQL to correctly order create
, function
, and trigger
statements.diff
command.Published by nvoxland over 4 years ago
For both Liquibase Open Source and Liquibase Pro users, the following bugs were fixed in version 3.8.8:
rollbackOneChangeSetSQL
now works correctly with the Liquibase Maven plugin.generateChangeLog
against a MySQL database.Published by nvoxland over 4 years ago
We are excited to announce with the release of Liquibase 3.8.7, Liquibase Pro users now have additional targeted rollback capabilities with two brand new commands! The creation of the rollbackOneUpdate
command allows users to rollback their last update, or target any previous update with a --deploymentId
parameter, and our new rollbackOneUpdateSQL
command allows you view the SQL your rollbackOneUpdate
command would produce prior to deploying it. That way, you can ensure you don't encounter any unintended consequences before rolling back.
Each one of these commands come with their own --help
to give you friendly command-specific assistance when you need it most. Just type liquibase rollbackOneUpdate --help
or liquibase rollbackOneUpdateSQL --help
to find what you need.
To also help you navigate the Targeted Rollback waters, our fantastic engineers have created a brand new command available to both Liquibase Open Source and Pro users, we call this command history
. The history
command lists out all of your deploymentIds
and all changeSets associated with each deploymentId
so you can inspect a group of changes to ensure they have been applied to the database. Just type liquibase history
into your command line to see it in action. Don't forget, you can also use a --outputFile
parameter to write this information to a text file!
Liquibase 3.8.7 also continues our initiative to make Liquibase bigger, badder, and even better than before. For both Liquibase Open Source and Liquibase Pro users, the following bugs were fixed in version 3.8.7:
--help
was improved to include missing commands and correct information.Published by nvoxland over 4 years ago
In addition to the existing zip/tar distributions, there are now liquibase-installer.exe and liquibase-installer.dmg graphical installers.
These installers include everything you need to run Liquibase (including Java) to make getting started easier than ever.
Regardless of how you install Liquibase, there is now a GETTING_STARTED.txt file that points you to some sample projects to start trying Liquibase as quickly as possible.
You asked, and we listened! With the release of Liquibase 3.8.6, Liquibase Pro users will now have additional rollback capabilities with Targeted Rollback, a powerful new feature that allows you to target one changeSet
to rollback, without affecting all the other changeSets
which followed it. Think "git cherry pick" for rollbacks.
We even added a helper command "rollbackOneChangsetSQL", which will show you the SQL that will be used in the rollbackOneChangeset command.
You can now also receive command specific help for Targeted Rollback by typing in either
liquibase rollbackOneChangeSet --help
or
liquibase rollbackOneChangeSetSql --help
.
Liquibase 3.8.6 also continues our initiative to re-engage with our users by bringing new bug fixes to our Liquibase platform. For both Liquibase Open Source and Liquibase Pro users, the following bugs were fixed in version 3.8.6:
excludeObjects
& includeObjects
parameters now works correctly when running diff
.dataOutputDirectory
parameter will now specify statement csv files appropriately.com.mysql.cj.jdbc.Driver
Published by nvoxland almost 5 years ago
We've fixed a number of issues with this release.
For both Liquibase Open Source and Liquibase Pro users, the following bugs were fixed in version 3.8.5:
DESC
to an id
columnsqlFile
, delimiter
, rollbackScript
, and outputSchemaAs
argumentsgenerateChangelog
failure when there are missing NOT NULL constraintsupdateSQL
, which was not including schemaName for package bodiescreate package body
while generating changeLogdatetime
data type column when using diff
& diffChangeLog
Liquibase Maven plugin fails while executing/using "diff" and "generateChangeLog" with PostgreSQL)Published by nvoxland almost 5 years ago
Liquibase 3.8.4 improves support for Liquibase in Spring Boot with Java 9+
For both Liquibase Open Source and Liquibase Pro users, the following bugs were fixed in version 3.8.4:
Published by nvoxland almost 5 years ago
It is true, sometimes things break. Sorry! However, with the release of Liquibase 3.8.3, users of both Liquibase Open Source and Liquibase Pro can enjoy improved Liquibase-Maven plugin experiences, especially when using Java 9+.
For both Liquibase Open Source and Liquibase Pro users, the following bugs were fixed in version 3.8.3:
Published by nvoxland almost 5 years ago
With the release of Liquibase 3.8.2, Liquibase Pro users, along with support, can now enjoy even more database change control with the capability to capture and export Stored Logic objects, such as triggers, procedures, functions, and more.
Liquibase Pro Only: Stored Logic Objects are now captured for Postgres and DB2, so users can reverse engineer database changes, and capture triggers, functions, procedures, and more using generateChangeLog, snapshot, diff, and diffChangeLog commands.
Liquibase Pro Only: Stored logic objects will now export into local directories and files.
For both Liquibase Open Source and Liquibase Pro users, the following bugs were fixed in version 3.8.2:
Published by nvoxland almost 5 years ago
Published by nvoxland about 5 years ago
[CORE-2379] - Project.version set to 3.3.4-SNAPSHOT in 3.3.4 final
Published by nvoxland about 5 years ago
[CORE-2360] - Maven - Skip is active by default
[CORE-2199] - Liquibase adds a semicolon after a stored proc definition making the stored proc unusable
[CORE-2344] - Unknown host exception on OS RHEL 6.5
[CORE-2346] - IncludeAll does not work when runing liquibase from inside a jar
[CORE-2357] - alterSequence does not work as expected when you need to change the cache size
[CORE-2366] - Derby Network server works with command line but not with maven "Liquibase skipped due to maven configuration"
[CORE-2368] - No SQL outputted for change
Published by nvoxland about 5 years ago
[CORE-1768] - Oracle dropAll fails on spatial tables and sequences
[CORE-1840] - Liquibase fails when run on a computer that can't connect to the internet
[CORE-1857] - Wrong column size detection on varchar2 fields with char as datatype
[CORE-1866] - Filtering changelog list by includeAll tag is not working
[CORE-1943] - Handle Error: InetAddress.getLocalHost().getHostName() UnknownHostException results in NoClassDefFoundError
[CORE-1958] - Column type of "TIMESTAMP(6)" under MySql converted to TIMESTAMP dropping fractional seconds
[CORE-1967] - includeAll uses full file path for sql changelogs
[CORE-2023] - Problem using includeAll with SpringLiquibase
[CORE-2126] - Postgres 9.3 - Drop table With Cascade - Not Supported
[CORE-2156] - Resource loader can't load changelog file
[CORE-2186] - AbstractResourceAccessor#convertToPath(String, String) fails for processing includeAll from Classpath
[CORE-2192] - NoSuchMethodException when generating offline Oracle migration script
[CORE-2199] - Liquibase adds a semicolon after a stored proc definition making the stored proc unusable
[CORE-2202] - liquibase.should.run inverted boolean
[CORE-2204] - valueNumeric not being set when using prepared statements
[CORE-2206] - diffChangeLog with JPA-annotated entities causes ConcurrentModificationException
[CORE-2208] - Typo in message
[CORE-2210] - java.lang.NullPointerException when file is empty
[CORE-2214] - When inserting string value starting and ending with apostrophes (quotes) the value is not quoted in the generated SQL
[CORE-2218] - Regression on modifyDataType : VARCHAR2 was supported on 3.2...and fails on 3.3
[CORE-2239] - Remarks attribute in renameColumn causes parse error
[CORE-2240] - setDropFirst(true) still broken on empty database
[CORE-2262] - 3.3.2 ant task dies on NPE in ChangeLogParameters
[CORE-2263] - Index Snapshot - doesn't include upper cased name indexes when db is NOT case sensitive
[CORE-2274] - Ant Upade Task does not consider changeLogFile correctly if it is contained in a JAR
[CORE-2279] - Rollback fails in MS SQL 2008 using liquibase 3.3.2
[CORE-2284] - Creating a DatabaseChangeLog() results in NPE
[CORE-2290] - Liquibase gives different results from Ant and the command line
[CORE-2301] - Regression from 3.2.3 in mssql 2000 unsupported usage of varchar(max) and sys.extenden_properties
[CORE-2304] - Autoincrement on type INT4 fails
[CORE-2310] - IncludeAll Fails with Unknown Reason Error
[CORE-2315] - NPE in CommandlineResourceAccessor
[CORE-2325] - Liquibase - New versions break DB create
[CORE-2329] - Escaped reserved keywords in HSQL are stored in lower case instead of upper case.
[CORE-2330] - includeAll uses full file path with includeAll
[CORE-2261] - UpdateSQL needs to append a "/" to the end of createProcedure for Oracle
[CORE-2287] - Improve support for Groovy-based tests in Eclipse
[CORE-2296] - Upgrade Groovy and Spock to maintained versions
[CORE-2318] - Add support for converting BigDecimal objects to a SQL string via DataTypeFactory
Published by nvoxland about 5 years ago
Published by nvoxland about 5 years ago
Published by nvoxland about 5 years ago