# Rollback in community version

**URL:** <https://forum.liquibase.org/t/rollback-in-community-version/7658>\
**Category:** General Discussion\
**Created:** [January 3, 2023, 11:59pm UTC](https://forum.liquibase.org/t/rollback-in-community-version/7658 "2023-01-03T23:59:47Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![SreekanthReddyU](https://avatars.discourse-cdn.com/v4/letter/s/7ea924/32.png) [@SreekanthReddyU](https://forum.liquibase.org/u/SreekanthReddyU)\
**Post date:** [January 3, 2023, 11:59pm UTC](https://forum.liquibase.org/t/rollback-in-community-version/7658/1 "2023-01-03T23:59:47Z")

</div>

Hello all, could someone help me with my questions below?

1. What is the simple and best way to handle rollbacks for DDL, DML & stored procedure changes for MS SQL server?

2. What happens if a same stored procedure is altered by multiple developers on the same release?

3. Is there a limit on number of targets we can deploy to on open source community edition?

Thank you!

---

<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:** [January 4, 2023, 3:03pm UTC](https://forum.liquibase.org/t/rollback-in-community-version/7658/2 "2023-01-04T15:03:28Z")

</div>

1. It depends. What file format are you using?

For DDL: If using xml, json, yaml, then Liquibase will auto-rollback _most_ DDL. If using sql, then you need to code the rollback sql statement(s).

For stored procedures: You can rollback to a prior changeset, which would be the prior version of the code, or you can code the rollback sql statement.

For DML: you will need to code the rollback sql statement(s).

1. I’d suggest there should only be 1 deployment of a stored procedure per release. The code should be merged prior to the Liquibase deployment.

2. There is no limit to the number of targets in the community edition.

---

<div class="post-metadata">

**Author:** ![SreekanthReddyU](https://avatars.discourse-cdn.com/v4/letter/s/7ea924/32.png) [@SreekanthReddyU](https://forum.liquibase.org/u/SreekanthReddyU)\
**Post date:** [January 10, 2023, 5:44am UTC](https://forum.liquibase.org/t/rollback-in-community-version/7658/3 "2023-01-10T05:44:28Z")

</div>

@daryldoak but stored procedure is SQL format does not allow autorollback to previous change set right?

Are you talking about XML/JSON/YAML fromat?

---

<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:** [January 10, 2023, 2:26pm UTC](https://forum.liquibase.org/t/rollback-in-community-version/7658/4 "2023-01-10T14:26:49Z")

</div>

To make sure we are on the same page, auto-rollback refers to Liquibase knowing how to rollback a change-type automatically, without you providing the rollback sql.

sql format (and custom sql in xml, yaml, and json) does not have auto-rollback at all. And not all change-types in xml, yaml, and json support auto-rollback.

It is possible to rollback to a prior changeset in sql format. It was add in v4.16.0.

> **[Release v4.16.0 · liquibase/liquibase](https://github.com/liquibase/liquibase/releases/tag/v4.16.0)**
>
> New and Notable Capability
> 
> \[LABS\] The liquibase flow command and flow files are still available under the Liquibase Labs license.
> 
> Documentation on flow is here: https://docs.liquibase.com/flow
> If...
