# Rollback does not work

**URL:** <https://forum.liquibase.org/t/rollback-does-not-work/5672>\
**Category:** Liquibase Development\
**Created:** [July 6, 2021, 9:53am UTC](https://forum.liquibase.org/t/rollback-does-not-work/5672 "2021-07-06T09:53:22Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![msoracle](https://avatars.discourse-cdn.com/v4/letter/m/e56c9b/32.png) [@msoracle](https://forum.liquibase.org/u/msoracle)\
**Post date:** [July 6, 2021, 9:53am UTC](https://forum.liquibase.org/t/rollback-does-not-work/5672/1 "2021-07-06T09:53:22Z")

</div>

Hello! I want to have the ability to rollback to the previous version of database objects (for ex PostgreSQL function)  
But it doesn’t work. Where is my mistake?

```auto
<?xml version="1.0" encoding="UTF-8"?>  
<databaseChangeLog  
  xmlns="http://www.liquibase.org/xml/ns/dbchangelog"  
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  xmlns:pro="http://www.liquibase.org/xml/ns/pro"  
  xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.2.xsd http://www.liquibase.org/xml/ns/pro http://www.liquibase.org/xml/ns/pro/liquibase-pro-4.2.xsd">  

<changeSet id="10" author="bob"> 
    <sql>
	create or replace function myfunc() returns void as 'begin raise info ''version_10''; return;end;' language plpgsql;
	</sql>  
</changeSet>

<changeSet id="11" author="bob">  
    <sql>
	create or replace function myfunc() returns void as 'begin raise info ''version_11''; return;end;' language plpgsql;
	</sql>  
    <rollback changeSetId="10" changeSetAuthor="bob"/> 
</changeSet>

</databaseChangeLog>

```

---

<div class="post-metadata">

**Author:** ![rakhi](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.liquibase.org/rakhi/32/288_2.png) [@rakhi](https://forum.liquibase.org/u/rakhi)\
**Post date:** [July 6, 2021, 10:42am UTC](https://forum.liquibase.org/t/rollback-does-not-work/5672/2 "2021-07-06T10:42:25Z")

</div>

Hi @msoracle

What error do you get when you execute this changeset?

---

<div class="post-metadata">

**Author:** ![msoracle](https://avatars.discourse-cdn.com/v4/letter/m/e56c9b/32.png) [@msoracle](https://forum.liquibase.org/u/msoracle)\
**Post date:** [July 6, 2021, 12:29pm UTC](https://forum.liquibase.org/t/rollback-does-not-work/5672/3 "2021-07-06T12:29:05Z")

</div>

There is no error, but the rollback section is not executed.  
`rollback-count-sql 1` does not show SQL for previous version, only shows SQL for deleting from databasechangelog  
and I see in the database version \_11, not version\_10 after `liquibase rollback-count 1`

---

<div class="post-metadata">

**Author:** ![daryldoak](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.liquibase.org/daryldoak/32/764_2.png) [@daryldoak](https://forum.liquibase.org/u/daryldoak)\
**Post date:** [July 6, 2021, 2:27pm UTC](https://forum.liquibase.org/t/rollback-does-not-work/5672/4 "2021-07-06T14:27:50Z")

</div>

I have the same scenario in my Liquibase test files. There are a couple of differences in mine though:

1. Oracle, not postgres.
2. I have “endDelimiter” set in each changeset.

My rollback scenario works as expected, rolling-back the stored procedure to prior version.

 Create the test\_proc stored procedure create or replace procedure test\_proc is v\_dummy1 date; v\_dummy2 date; begin --This is select 1 select sysdate into v\_dummy1 from dual; --This is select 2 select sysdate-1 into v\_dummy2 from dual; end test\_proc; / Create v2 of the test\_proc stored procedure create or replace procedure test\_proc is v\_dummy1 date; v\_dummy2 date; begin --This is select 1 select sysdate into v\_dummy1 from dual; --This is select 2 select sysdate-1 into v\_dummy2 from dual; --This is select 3 select sysdate-2 into v\_dummy2 from dual; end test\_proc; /

---

<div class="post-metadata">

**Author:** ![msoracle](https://avatars.discourse-cdn.com/v4/letter/m/e56c9b/32.png) [@msoracle](https://forum.liquibase.org/u/msoracle)\
**Post date:** [July 6, 2021, 3:06pm UTC](https://forum.liquibase.org/t/rollback-does-not-work/5672/5 "2021-07-06T15:06:17Z")

</div>

Great! You gave me an idea, I added `splitStatements="false"` and it worked as expected!  
Thank you!
