====== LiquiBase for IntelliJ IDEA ====== The LiquiBase IntelliJ plugin allows you to refactor your database as easily and visually as you refactor your code. Install the LiquiBase plug-in through the standard IntellJ plug-in manager. The LiquiBase plugin builds on the DBHelper plug-in by adding a "Refactor" and a "LiquiBase" context menu to the database explorer. ===== Demonstration ===== Two demonstration videos of the LiquiBase IntelliJ plugin in action can be seen on the [[../training]] page. ===== Refactor Menu ===== The "refactor" menu contains all the supported LiquiBase database refactorings. The refactorings that are enabled depend on the type of database object you have selected. Selecting a refactoring will open a wizard in which you can specify any refactoring-specific information, along with change set specific information such as "id" and "author". See the [[../manual/changeset|changeSet manual page]] for more information on the available settings. ==== Supported Refactorings ==== * [[../manual/Add Auto-Increment]] * [[../manual/Add Column]] * [[../manual/Add Default Value]] * [[../manual/Add Foreign Key Constraint]] * [[../manual/Add Lookup Table]] * [[../manual/Add Not-Null Constraint]] * [[../manual/Add Primary Key Constraint]] * [[../manual/Create Table|Add Table]] * [[../manual/Add Unique Constraint]] * [[../manual/Create Index]] * [[../manual/Create Stored Procedure]] * [[../manual/Create View]] * [[../manual/Drop Column]] * [[../manual/Drop Default Value]] * [[../manual/Drop Foreign Key Constraint]] * [[../manual/Drop Index]] * [[../manual/Remove Not-Null Constraint|Drop Not-Null Constraint]] * [[../manual/Drop Primary Key Constraint]] * [[../manual/Drop Table]] * [[../manual/Drop View]] * [[../manual/Rename Column]] * [[../manual/Rename Table]] * [[../manual/Rename View]] ==== Unsupported Refactorings ==== The following refactorings cannot be created automatically through the IntelliJ plug in, but can be added to the change log file automatically and executed through the plug-in. * [[../manual/Create Sequence]] * [[../manual/Alter Sequence]] * [[../manual/Drop Sequence]] * [[../manual/Drop Unique Constraint]] * [[../manual/Merge Columns]] * [[../manual/Custom SQL]] * [[../manual/Custom SQL File]] * [[../manual/Custom Refactoring Class]] * [[../manual/Execute Shell Command]] ===== LiquiBase Menu ===== The "LiquiBase" menu contains non-refactoring commands supported by the IntelliJ plug-in. ==== Currently supported commands ==== ^ Change Log Status | Outputs report of what changes have not been run | ^ Clear Checksums | LiquiBase tracks a checksum of each change made to the database. This command will clear that tracking | ^ Create Empty Change Log | Generates an emtpy change log XML file | ^ Drop All Objects | Drops all database objects belonging to the connected user | ^ Generate Complete Change Log | [[../manual/generating_changelogs|Generates a change log]] for building up the selected database | ^ Generate DbDoc | Generates [[../manual/DbDoc]] documentation | ^ Generate Migration SQL | Generates SQL required to update the database | ^ Generate SQL to Roll Back Unrun Changes | Generates SQL required to roll back un-run changes after they have been executed | ^ List LiquiBase Locks | LiquiBase uses a locking mechanism to control updates from multiple instances. This command lists those locks | ^ Release LiquiBase Locks | Clear LiquiBase locks | ^ Rollback Changes | [[../manual/rollback|Rolls back]] a given number of changes | ^ Rollback Changes (Generate SQL) | Generate SQL to roll back a given number of changes | ^ Rollback to Date | Rolls back database to a given date | ^ Rollback to Date (Generate SQL) | Generate SQL to roll back database to a given date | ^ Rollback to Tag | Rolls back database to a given tag | ^ Rollback to Tag (Generate SQL) | Generate SQL to roll back database to a given tag | ^ Tag Database | Tag current database state for future rollback | ^ Update Database | Applies all un-executed changes | ^ Validate Change Log | Check change log files for errors | ===== More Information ===== For more information on LiquiBase, visit [[/home|the main LiquiBase documentation]] including the [[../quickstart|Quick-Start guide]] and [[../manual/home|Manual]]. Please direct any questions or issues to the [[../community|mailing lists]]