I'm trying to use liquibase for generating the changeLog, starting by snapshoting the current state of my database.
Environment details:
- OS: Windows 7 32 x86,
- Java JDK 1.7,
- mysql jdbc driver from MySQL
- liquibase 2.0.5.
I run the following from command line:
liquibase --driver=com.mysql.jdbc.Driver --changeLogFile=./structure.xml --url="jdbc:mysql://mysql.mysite.com" --username=<myuser> --password=<mypass> generateChangeLog
It runs fine, and generated the output file. But the output file just contains:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-2.0.xsd"/>
And no tables are created on my database (I was expecting the two tables used for tracking).
What am I missing?
EDITS
Yes, I'm referring to liquibasechanlog and liquibasechangelock tables. I know they should automatically appears on database. My question is why they aren't there. And yes, the provided user have the rights granted for doing such task.
And it is not an empty database. It has near 20 tables, 10 views, data...
liquibasechangelog
andliquibasechangeloglock
? Those aren't actually managed with liquibase.xml but are created automatically for you. – Chessy--url="jdbc:mysql://mysql.mysite.com"
but if I add the database name it works fine:--url="jdbc:mysql://mysql.mysite.com/dummy"
. – Eolithicliquibasechangelog
andliquibasechangelock
tables are generated if you would apply the generated changelog.xml e.g withliquibase init project --changelog-file=mychangelog.sql --username=myusername
- I just hope you have figured that out by now ;) – Condorcet