在空的mysql实例上使用liquibase创建数据库

时间:2015-12-15 07:48:40

标签: mysql liquibase

我有新的mysql实例,希望能够创建大量数据库并使用liquibase填充它。 虽然我有脚本(更改集)可以在手动创建的数据库上正常工作,但我希望能够使用liquibase创建数据库。 当我尝试连接而没有在URL中指定数据库时,我得到了错误:

liquibase --driver=com.mysql.jdbc.Driver --url=jdbc:mysql://localhost:3306/ --username=root --password=admin --changeLogFile=create_dbs.sql tag empty
Unexpected error running Liquibase: Incorrect database name '' [Failed SQL: CREATE TABLE ``.DATABASECHANGELOGLOCK (ID INT NOT NULL, LOCKED BIT(1) NOT NULL, LOCKGRANTED datetime NULL, LOCKEDBY VARCHAR(255) NULL, CONSTRAINT PK_DATABASECHANGELOGLOCK PRIMARY KEY (ID))]

我不需要liquibase跟踪这些更改(数据库创建),似乎我想使用LB作为快速引导工具。

2 个答案:

答案 0 :(得分:16)

首先需要在SELECT * FROM model_a ma INNER JOIN model_b mb ON (ma._id = mb.model_a_id) WHERE (mb.model_a_id = ?) 这样的网址中添加数据库名称。

您还可以使用此URL

创建一个新数据库
jdbc:mysql://localhost:3306/database_name

createDatabaseIfNotExist 此关键字在您的系统中创建一个全新的数据库。如果数据库不存在。如果存在,请跳过执行。

How to create database with Liquibase

答案 1 :(得分:5)

您需要在URL中指定数据库。

修改

Liquibase实际上并没有创建具有权限等的空数据库的第一步。必须使用平台的本机工具来完成。一旦有空数据库,liquibase将通过创建正确的表等来填充数据库模式。