init project
Last published July 28, 2025
As a new user, run the init project subcommand to get started with Liquibase. If you already use Liquibase, run init project to immediately create a new project with minimal input. It is available in Liquibase 4.7.0 and later.
The subcommand finds or creates your project folder containing a changelog and "defaults file"—liquibase.properties—and delivers an example H2 database to help you get started. The defaults file lets you specify properties without typing them into the CLI every time you run a command.
Syntax
To run the init project
subcommand in the interactive mode, enter liquibase init project
in your command line and follow the instructions: choose [y]
to accept all the default values, [c]
to customize the values, or [n]
to not set up the project files.
Note: The project
subcommand can be replaced by its alias which is project-new
.
Example: init project-new
Liquibase provides the following options:
Keep the default settings (y)
--project-dir=./
--changelog-file=example-changelog.sql
--format=sql
--project-defaults-file=liquibase.properties
--url=jdbc:h2:tcp://localhost:9090/mem:dev
--username=dbuser
--password=letmein
The default values work with the example H2 database, which is also delivered when running liquibase init project
.
Customize all parameters (c)
--project-dir=[path/to/some/directory]
--changelog-file=[file.ext]
--format=[sql|xml|json|yaml|yml]
--project-defaults-file=[liquibase.properties]
--url=[some/JDBC/URL]
--username=[string]
--password=[string]
Customize a few parameters and stop the process. The default settings will be used.
Example: If you run liquibase init project --changelog-file=mychangelog.sql --username=myusername
, the interactive mode will ask if you want to accept the rest of the default parameters or customize all flags that are not set. In this case, they are project dir
, project defaults file
, url
, and password
To use the non-interactive mode, run liquibase init project and specify all the parameters you need:
liquibase init project
--project-dir=[path/to/some/directory]
--changelog-file=[file.ext]
--format=[sql|xml|json|yaml|yml]
--project-defaults-file=[liquibase.properties]
--url=[some/JDBC/URL]
--username=[string]
--password=[string]
Note: If Liquibase cannot find the directory, it will create the directory using the path you have specified.
init project
does not overwrite your existing changelog file but updates an existing project-defaults-file
with the same name. For example, this functionality might help you update the Liquibase properties file from the CLI with a different changelog or URL, but keep other values and files the same.
Command parameters
Attribute | Description | Requirements |
| Relative or fully qualified path to the changelog file. Default: | Optional |
| Format of the project changelog file: | Optional |
| For remote project locations, do not delete temporary project files. Default: | Optional |
| Password to use to connect to the database. Default: | Optional |
| File with default Liquibase properties. Default: | Optional |
| An optional parameter used to specify the directory containing files (existing or to be auto-created) to be used with Liquibase. Default: | Optional |
| Parameter that turns on or turns off the CLI interactive mode. For example, if you want to set one parameter and have the rest as default ones, run the parameter and set | Optional |
| The JDBC database connection URL. See Using JDBC URL in Liquibase. Default: | Optional |
| Username to connect to the database. Default: | Optional |
Troubleshooting
Commercial dependency bug
The init project
command does not require a Liquibase Pro license key. However, in Liquibase 4.30.0 and earlier, the liquibase-commercial.jar
file must be in your /liquibase/internal/lib
folder for the command to work.