Quantcast
Channel: Liquibase Forums
Viewing all 2993 articles
Browse latest View live

CORE-3008: includeAll uses full file path with 3.5.3 version

$
0
0
If we have relative path in includeAll (eg: <includeAll path="../y"/>) then absolute path is entered in FILENAME column of DATABASECHANGELOG table as of 3.5.3 version and this issue is blocking us from uptaking this version.

Please find attached the test case.

I tried to make a change in FileSystemResourceAccessor#list method. Could you please review if this is the way to go?
  1. diff --git a/liquibase-core/src/main/java/liquibase/resource/FileSystemResourceAccessor.java b/liquibase-core/src/main/java/liquibase/resource/FileSystemResourceAccessor.java
    index cfdbfb8..2750a19 100644
    --- a/liquibase-core/src/main/java/liquibase/resource/FileSystemResourceAccessor.java
    +++ b/liquibase-core/src/main/java/liquibase/resource/FileSystemResourceAccessor.java
    @@ -138,6 +138,9 @@ public class FileSystemResourceAccessor extends AbstractResourceAccessor {
                             break;
                         }
                     }
    +                if(this.baseDirectory == null){
    +                    returnPath = returnPath.substring(returnPath.lastIndexOf(path));
    +                }
                     finalReturnSet.add(returnPath);
                 }
                 return finalReturnSet;


Re : Support for Hive (Hadoop) schema changes via Liquibase?

$
0
0
Hi Mani,

I've develop the plugin you mention above, you can try it https://github.com/eselyavka/liquibase-impala. This plugin support Hive and Impala. I believe that there are a lot of areas where we can improve this plugin, but basic tests looks good for me at this moment. In case your find a bug please create an PR on this or address this issue to me.

Re : Support for Hive (Hadoop) schema changes via Liquibase?

$
0
0
Thanks for your reply. I will try using the extension and would like to understand the flow as well. Will update on this.

Liquibase 3.5.3 runs ALTER USER on update

$
0
0
I upgraded to Liquibase 3.5.3. We use SqlServer. I see this error during update:

Unexpected error running Liquibase: Cannot alter the user '<domain>david.raskin', because it does not exist or you do not have permission. [Failed SQL: IF USER_NAME() <> N'dbo'

BEGIN
        DECLARE @sql [nvarchar](MAX)
        SELECT @sql = N'ALTER USER ' + QUOTENAME(USER_NAME()) + N' WITH DEFAULT_SCHEMA = [ccf]'
        EXEC sp_executesql @sql
END]

Previous version of Liquibase did not give this error or probably didn't run this SQL in the beginning.

Is there a way to disable this?

thanks!

Liquibase 3.5.3 ORA-28040 while connecting to 12c database

$
0
0
I have an issue with connecting with Liquibase 3.5.3 to Oracle 12c. I receive this error: "ORA-28040: No matching authentication protocol" no matter what.

The connection to 11g is working flawlessly but to 12c it's not. I have tried ojdbc 6-7-8-14 driver too, and I have tried with property file and call Liqueibase directly with commands only but same error.


Commands

liquibase 

--driver=oracle.jdbc.OracleDriver 

--classpath=C:/liquibase-3.5.3-bin/lib/ojdbc7.jar 

--url="jdbc:oracle:thin:@123.123.123:1111/SERVICE_NAME" 

--username="FAKE_USERNAME" 

--password="FAKE_PASSWORD"

--changeLogFile=C:/FAKE_PATH/db-changelog-master.xml 

--logLevel=DEBUG 

--contexts="FAKE_CONTEXTS" updateSQL > script.sql  

-DinsertCondition=FAKE -DnwuCondition=FAKE


liquibase.properties

classpath: lib\\ojdbc8.jar

driver: oracle.jdbc.OracleDriver

url: jdbc:oracle:thin:@123.123.123:1111/SERVICE_NAME

username: FAKE

password: FAKE

changeLogFile: C:\\FAKE\\db-changelog-master.xml


Anybody could suggest anything regarding to this?


Respons in cmd:
SEVERE 9/6/17 4:34 PM: liquibase: java.sql.SQLException: ORA-28040: No matching authentication protocol

liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: java.sql.SQLException: ORA-28040: No matching authentication protocol

        at liquibase.integration.commandline.CommandLineUtils.createDatabaseObject(CommandLineUtils.java:127)
        at liquibase.integration.commandline.Main.doMigration(Main.java:958)
        at liquibase.integration.commandline.Main.run(Main.java:188)
        at liquibase.integration.commandline.Main.main(Main.java:103)
Caused by: liquibase.exception.DatabaseException: java.sql.SQLException: ORA-28040: No matching authentication protocol

        at liquibase.database.DatabaseFactory.openConnection(DatabaseFactory.java:247)
        at liquibase.database.DatabaseFactory.openDatabase(DatabaseFactory.java:151)
        at liquibase.integration.commandline.CommandLineUtils.createDatabaseObject(CommandLineUtils.java:85)
        ... 3 more
Caused by: java.sql.SQLException: ORA-28040: No matching authentication protocol

        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:113)
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:283)
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:278)
        at oracle.jdbc.driver.T4CTTIoauthenticate.receiveOsesskey(T4CTTIoauthenticate.java:295)
        at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:359)
        at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:454)
        at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
        at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:802)
        at liquibase.database.DatabaseFactory.openConnection(DatabaseFactory.java:239)
        ... 5 more

Liquibase - Data Subset Request

$
0
0
Hello All,

We are looking for a solution to perform below activities using Liquibase - 
Data Subset - Take the dump of the source data (based on the where clause) and restore it back to non-production envrionment.
Full data Refresh - Push the prod data in the non-prod environment for all tables and sync'ing the schema of target database as of source.
Does Liquibase help to generate the test data on it's own based on the existing & new schema changes.

Your comments will be helpful.

Thanks,
Shruti Kothari

are all object types covered by Liquibase?

$
0
0
Hello,
Oracle Database 12c, Liquibase 3.5.3
Packages, triggers and materialized views are seemingly not supported by Liquibase. Is this correct?
What other Oracle object types are not supported by Liquibase?

Thank you

Re : are all object types covered by Liquibase?

$
0
0
You are correct. There are a number of Oracle objects simply not supported in Liquibase. You have a few options.

The first is to use the Oracle extension (https://github.com/liquibase/liquibase-oracle). The second is to add support to the that for objects that are not available.

The third option is to use Datical. We've added support for a large number of these objects. Beyond that, Datical has Forecast support (generate a Report without changing the target database) and a Rule Engine (enforce SQL best practices and other things like "no more than X indexes on a table" and "no foreign keys without indexes on the columns in FK"). Datical supports Liquibase in Development and using Datical at the build server and in automation tooling. 

Hope that helps! Thanks for using Liquibase!

Robert

should it be update.xml instead of install.xml

$
0
0
http://www.liquibase.org/tutorial-using-oracle

What is written write now

As you can see above, after the installation of 1.x, we run the updates from 1.x to the latest version. You may wonder: why not include the update at the end of the install.xml file as: <include file="v001/master.xml" /> ? That would be equally valid. However, for some reason, if we do that then the precondition in master.xml fails.



What may be intended

As you can see above, after the installation of 1.x, we run the updates from 1.x to the latest version. You may wonder: why not include the update at the end of the update.xml file as: <include file="v001/master.xml" /> ? That would be equally valid. However, for some reason, if we do that then the precondition in master.xml fails.
Please let us know
Thank you

step 11 on tutorial using Oracle

$
0
0
Hello,
http://www.liquibase.org/tutorial-using-oracle

As a part of Step11 we are asked to run step 5.1 to 5.5.
Step 5.1
C:\others\liquiwork\lbdemo\trunk\v001\master.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog/1.9"
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog/1.9 http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-1.9.xsd">
    <preConditions>
        <!-- These changes should only be run against a schema with major version 1 -->
        <sqlCheck expectedResult="1">
            SELECT NVL(MAX(id),0)
            FROM databasechangelog
            WHERE author='MajorVersion'
        </sqlCheck>
    </preConditions>
    <include file="v001/2009-10-16-102.xml"/>
    <include file="v001/2009-10-16-105.xml"/>
        <!-- Do not include any more changes in this file -->
    <changeSet author="MajorVersion" id="1" />

</databaseChangeLog>

The blue font is what I added to C:\others\liquiwork\lbdemo\trunk\v001\master.xml. This is step 11(repeat of step 5.1) in progress.

C:\others\liquiwork\lbdemo\trunk>Liquibase --changeLogFile=update.xml update
Liquibase Update Successful

Is this correct? Is the id tag supposed to be 2 in the changeSet element?
Could you please explain what needs to be done (to repeat process of step 5) to finish step 11?
If you could please explain Step 11 to 17 briefly, this could help me. 

Thank you

UTF 8 encoding not working for Postgres DB migrations

$
0
0
Hello,
I am using Liquibase to implement our DB versioning and migration. We use Postgres DBs.
I came across an error today when I ran a Changeset, SQL formatted, that added a comment to a column in a table. The comment contains some german characters with diacritics: ö, ü, ä. After the script was ran successfully, the characters with diacritics were not displayed in pgAdmin anymore, instead this � was displayed.

I specified the UTF-8 encoding in the ChangeLog file, like this: <?xml version="1.0" encoding="UTF-8"?> 
and in the .cmd file that I use to call the liquibase command, like this: 
call ../liquibase --url="jdbc:postgresql://localhost:5432/dbname?useUnicode=true&characterEncoding=UTF-8" --username=postgres --password=xxxx --changeLogFile=../ChangeLogs/dbname/updatexxxx.xml --logLevel=severe --logFile=logfile.txt update

Is there another setting or parameter I have to set to get the encoding right?

Thank you.

Handling Main class in extension

$
0
0
Hi,

I developed a extension and able to execute commands like update etc and run junits as well in my eclipse.

I tried to do the same using command line using 

java -jar extension.jar <options> <commands>

Somehow, control is not going to my extended class even all my extended class has overridden getPriority method. for example, instead of TestDatabase class, control is going to base AbstractJDBCDatabase class.

I built a uber extension.jar to contain all deps including liquibase core and ensure that Main class is getting called using below

<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>liquibase.integration.commandline.Main</mainClass>
</transformer>

in shade plugin. Tried to understand how other extensions are working, haven't seen any uber jar approaches. In general, how we should handle this packaging problem? What is the right way to use extension in CLI ?

Please advise.

Thanks,
Mani


Liquibase rollback not working with "Liquibase Rollback Successful"

$
0
0
Hi guys! Please, can you help me with rollback action? It is some kind of magic - liquibase report me about successful rollback action, but nothing change.
We use sql formatted SQL. For example i have 3 files:

CASE-0-1.sql:

--liquibase formatted sql

--changeset CASE-0-1:1 failOnError:true
CREATE TABLE tt1(
cc1 INT(11));

--rollback DROP TABLE tt1;
--rollback CREATE TABLE tr1(
--rollback cr1 INT(20));


CASE-0-2.sql:

--liquibase formatted sql

--changeset CASE-0-2:1 failOnError:true
CREATE TABLE tt2(
cc2 INT(11));

--rollback DROP TABLE tt2;
--rollback CREATE TABLE tr2(
--rollback cr2 INT(20));


CASE-0-3.sql:

--liquibase formatted sql

--changeset CASE-0-3:1 failOnError:true
CREATE TABLE tt3(
cc3 INT(11));

--rollback DROP TABLE tt3;
--rollback CREATE TABLE tr3(
--rollback cr3 INT(20));


I TAG database before making any changes:

/root/liquibase/liquibase --logLevel=debug --classpath=/usr/share/java/mysql-connector-java.jar --driver=com.mysql.jdbc.Driver \
  --url="jdbc:mysql://localhost/liquibase_test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true" \
  --logFile=0state.tag.log --username=trunk --password=Trunk \
  tag "0state"



After that i apply files and TAG database after each file apply:

/root/liquibase/liquibase --logLevel=debug --classpath=/usr/share/java/mysql-connector-java.jar --driver=com.mysql.jdbc.Driver \
  --url="jdbc:mysql://localhost/liquibase_test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true" \
  --changeLogFile=CASE-0-1.sql --logFile=CASE-0-1.sql.update.log --username=trunk --password=Trunk \
  update
/root/liquibase/liquibase --logLevel=debug --classpath=/usr/share/java/mysql-connector-java.jar --driver=com.mysql.jdbc.Driver \
  --url="jdbc:mysql://localhost/liquibase_test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true" \
  --logFile=CASE-0-1.sql.tag.log --username=trunk --password=Trunk \
  tag "CASE-0-1"

/root/liquibase/liquibase --logLevel=debug --classpath=/usr/share/java/mysql-connector-java.jar --driver=com.mysql.jdbc.Driver \
  --url="jdbc:mysql://localhost/liquibase_test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true" \
  --changeLogFile=CASE-0-2.sql --logFile=CASE-0-2.sql.update.log --username=trunk --password=Trunk \
  update
/root/liquibase/liquibase --logLevel=debug --classpath=/usr/share/java/mysql-connector-java.jar --driver=com.mysql.jdbc.Driver \
  --url="jdbc:mysql://localhost/liquibase_test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true" \
  --logFile=CASE-0-2.sql.tag.log --username=trunk --password=Trunk \
  tag "CASE-0-2"

/root/liquibase/liquibase --logLevel=debug --classpath=/usr/share/java/mysql-connector-java.jar --driver=com.mysql.jdbc.Driver \
  --url="jdbc:mysql://localhost/liquibase_test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true" \
  --changeLogFile=CASE-0-3.sql --logFile=CASE-0-3.sql.update.log --username=trunk --password=Trunk \
  update
/root/liquibase/liquibase --logLevel=debug --classpath=/usr/share/java/mysql-connector-java.jar --driver=com.mysql.jdbc.Driver \
  --url="jdbc:mysql://localhost/liquibase_test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true" \
  --logFile=CASE-0-3.sql.tag.log --username=trunk --password=Trunk \
  tag "CASE-0-3"


Result:

[root@mysql]# mysql -e "SELECT ID, AUTHOR, FILENAME, DATEEXECUTED, ORDEREXECUTED, EXECTYPE, DESCRIPTION, COMMENTS, TAG \
>           FROM DATABASECHANGELOG;" liquibase_test
+---------------+-----------+--------------------+---------------------+---------------+----------+-------------+----------+----------+
| ID            | AUTHOR    | FILENAME           | DATEEXECUTED        | ORDEREXECUTED | EXECTYPE | DESCRIPTION | COMMENTS | TAG      |
+---------------+-----------+--------------------+---------------------+---------------+----------+-------------+----------+----------+
| 1506498093527 | liquibase | liquibase-internal | 2017-09-27 10:41:33 |             1 | EXECUTED | empty       |          | 0state   |
| 1             | CASE-0-1  | CASE-0-1.sql       | 2017-09-27 10:41:57 |             2 | EXECUTED | sql         |          | CASE-0-1 |
| 1             | CASE-0-2  | CASE-0-2.sql       | 2017-09-27 10:42:08 |             3 | EXECUTED | sql         |          | CASE-0-2 |
| 1             | CASE-0-3  | CASE-0-3.sql       | 2017-09-27 10:42:12 |             4 | EXECUTED | sql         |          | CASE-0-3 |
+---------------+-----------+--------------------+---------------------+---------------+----------+-------------+----------+----------+
[root@mysql]# mysql -e "SHOW TABLES;" liquibase_test
+--------------------------+
| Tables_in_liquibase_test |
+--------------------------+
| DATABASECHANGELOG        |
| DATABASECHANGELOGLOCK    |
| tt1                      |
| tt2                      |
| tt3                      |
+--------------------------+


Now, lets try rollback:

/root/liquibase/liquibase --logLevel=debug --classpath=/usr/share/java/mysql-connector-java.jar --driver=com.mysql.jdbc.Driver \
  --url="jdbc:mysql://localhost/liquibase_test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true" \
  --changeLogFile=CASE-0-2.sql --logFile=CASE-0-2.sql.rollback.log --username=trunk --password=Trunk \
  rollback "CASE-0-2"
Liquibase Rollback Successful


Looks like all fine, but rollback was not executed:

[root@mysql]# mysql -e "SELECT ID, AUTHOR, FILENAME, DATEEXECUTED, ORDEREXECUTED, EXECTYPE, DESCRIPTION, COMMENTS, TAG \
>           FROM DATABASECHANGELOG;" liquibase_test
+---------------+-----------+--------------------+---------------------+---------------+----------+-------------+----------+----------+
| ID            | AUTHOR    | FILENAME           | DATEEXECUTED        | ORDEREXECUTED | EXECTYPE | DESCRIPTION | COMMENTS | TAG      |
+---------------+-----------+--------------------+---------------------+---------------+----------+-------------+----------+----------+
| 1506498093527 | liquibase | liquibase-internal | 2017-09-27 10:41:33 |             1 | EXECUTED | empty       |          | 0state   |
| 1             | CASE-0-1  | CASE-0-1.sql       | 2017-09-27 10:41:57 |             2 | EXECUTED | sql         |          | CASE-0-1 |
| 1             | CASE-0-2  | CASE-0-2.sql       | 2017-09-27 10:42:08 |             3 | EXECUTED | sql         |          | CASE-0-2 |
| 1             | CASE-0-3  | CASE-0-3.sql       | 2017-09-27 10:42:12 |             4 | EXECUTED | sql         |          | CASE-0-3 |
+---------------+-----------+--------------------+---------------------+---------------+----------+-------------+----------+----------+
[root@mysql]# mysql -e "SHOW TABLES;" liquibase_test
+--------------------------+
| Tables_in_liquibase_test |
+--------------------------+
| DATABASECHANGELOG        |
| DATABASECHANGELOGLOCK    |
| tt1                      |
| tt2                      |
| tt3                      |
+--------------------------+


As you can see - same set of tables we have, no table drops, no additional tables was created.

What we have in rollback logfile:

[root@mysql]# cat CASE-0-2.sql.rollback.log:
DEBUG 27.09.17 10:53: liquibase: Connected to trunk2@127.0.0.1@jdbc:mysql://localhost/liquibase_test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true
DEBUG 27.09.17 10:53: liquibase: Setting auto commit to false from true
DEBUG 27.09.17 10:53: liquibase: Executing QUERY database command: select count(*) from liquibase_test.DATABASECHANGELOGLOCK
DEBUG 27.09.17 10:53: liquibase: Executing QUERY database command: select count(*) from liquibase_test.DATABASECHANGELOGLOCK
DEBUG 27.09.17 10:53: liquibase: Executing QUERY database command: SELECT LOCKED FROM liquibase_test.DATABASECHANGELOGLOCK WHERE ID=1
DEBUG 27.09.17 10:53: liquibase: Lock Database
DEBUG 27.09.17 10:53: liquibase: Executing UPDATE database command: UPDATE liquibase_test.DATABASECHANGELOGLOCK SET LOCKED = 1, LOCKEDBY = 'mysql-gigantic-dummy-dvaco-trunk-28.aws.srv (172.29.13.83)', LOCKGRANTED = '2017-09-27 10:53:26.625' WHERE ID = 1 AND LOCKED = 0
INFO 27.09.17 10:53: liquibase: Successfully acquired change log lock
DEBUG 27.09.17 10:53: liquibase: Computed checksum for 1506498806750 as 17f1742877fc068db5453ca9db9d60e3
DEBUG 27.09.17 10:53: liquibase: Executing QUERY database command: SELECT MD5SUM FROM liquibase_test.DATABASECHANGELOG WHERE MD5SUM IS NOT NULL LIMIT 1
DEBUG 27.09.17 10:53: liquibase: Executing QUERY database command: select count(*) from liquibase_test.DATABASECHANGELOG
INFO 27.09.17 10:53: liquibase: Reading from liquibase_test.DATABASECHANGELOG
DEBUG 27.09.17 10:53: liquibase: Executing QUERY database command: SELECT * FROM liquibase_test.DATABASECHANGELOG ORDER BY DATEEXECUTED ASC, ORDEREXECUTED ASC
DEBUG 27.09.17 10:53: liquibase: CASE-0-2.sql: CASE-0-2.sql::1::CASE-0-2: Computed checksum for inputStream as 80fa2b893f3b36ef72cf796a9ce61189
DEBUG 27.09.17 10:53: liquibase: CASE-0-2.sql: CASE-0-2.sql::1::CASE-0-2: Computed checksum for 7:80fa2b893f3b36ef72cf796a9ce61189: as 6c11f0a414ae9865f42a220f71f1e3d1
DEBUG 27.09.17 10:53: liquibase: Release Database Lock
DEBUG 27.09.17 10:53: liquibase: Executing UPDATE database command: UPDATE liquibase_test.DATABASECHANGELOGLOCK SET LOCKED = 0, LOCKEDBY = NULL, LOCKGRANTED = NULL WHERE ID = 1

INFO 27.09.17 10:53: liquibase: Successfully released change log lock


I checked different variants, different liquibase file formatting, different command line options - useless. Liquibase always say "Liquibase Rollback Successful", but do nothing.

Please, help. May be someone use rollback actions with sql, or other formats? Where the mistake? What i am doing wrong? Is it working liquibase feature at all?

data Difference between two schemas in Liquibase

$
0
0
Hi All,

I am running the below command
java -jar liquibase.jar
 --driver=<driver name>
 --clasapth=<classpath + liquibase jar>
 --changeLogFile=<file name + path>
 --url=<schema1>
 --username=<username>
 --password=<pwd>
 --referenceUrl=<schema2>
 --referenceUsername=<username>
 --referencePassword=<pwd>
 --diffTypes=data
generateChangeLog


This command gives me a file dump with xKB , the file contains only the changeSet of the (url+username+password) DB, not the actual comaprison between both the tables and values of each table.

can you please help me with the correct command if the above one is wrong ?

Liquibase Hbase extension

$
0
0
Hi Nathan,

I developed a simple extension for Hbase, focusing on "update" operation only for sql and xml based changesets for now. With this state, thought of getting feedback/review about the extension on how to proceed further.

Thanks,
Mani

Insert with subselect

$
0
0
Hi,
I want to execute a query as follow:

INSERT INTO table1 (
      field1_pk, 
      field2, 
      field3) 
values (
      'value1', 
      'value2', 
       (select field2 from table2 where field1_pk = 'PIPPO') 
)

It is possible with Liquibase without <sql> tag ?

Thanks in advance

Writing a custom precondition

$
0
0
Hi,
can someone help me to write a custom precondition ?

Thanks in advance

Alessio

if evaluation in precondition tag

$
0
0
I have a changeSet as follows:

  1. <changeSet author="Alessio Frabotta" id="changeset-1">
  2. <preConditions onFail="MARK_RAN" onSqlOutput="TEST">
  3. <and>
  4.       <tableExists tableName="table_pippo" />
  5.       <sqlCheck expectedResult="0">SELECT COUNT(*) FROM table_pippo WHERE role_name = 'Cartoons'       </sqlCheck>
  6. </and>
  7. </preConditions>
  8. <insert tableName="table_pippo">
  9. <column name="role_name">Cartoons</column>
  10. </insert>
  11. </changeSet>
The table "table_pippo" on the db is not guaranteed.  I get an error because all conditions in precondition are executed, but I was expecting that the precondition would return false without evaluating the second condition to the failure of the first condition.

Can anyone explain this behavior?

Thanks in advance

Alessio

File locks

$
0
0
I was trying to use Liquibase for a work project where we wanted to have a long running service that could run DB migrations on demand.  So I decided to use Liquibase programmatically, but I ran into a problem.  There were a couple of places where streams weren't getting closed, and having all these open file locks was causing issues for me.  So I created a branch off of the 3.5.3 release, and coded up a fix to close streams once they were done being used.  I don't know for sure if I caught every place in the code that's opening files, but I tested for all my actual use cases and all files were closed properly in those cases.  I attached a patch file with my changes, but I can provide the code in a different format if you'd prefer.

Java 9 Support

$
0
0
Currently liquibase fails to work on java 9 due to incorrect parsing of the version number, there is are some pull request to try to fix this https://github.com/liquibase/liquibase/pull/710

We have patched locally and works well. Is it possible to get a release with this in?
Viewing all 2993 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>