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

标签 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 作为快速引导工具。

最佳答案

首先需要在URL中添加数据库名,如jdbc:mysql://localhost:3306/database_name

你也可以使用这个 URL 创建一个新的数据库

jdbc:mysql://localhost:3306/database_name?createDatabaseIfNotExist=true

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

How to create database with Liquibase

关于mysql - 在空的 mysql 实例上使用 liquibase 创建数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34283630/

相关文章:

java - 错误 : Client does not support authentication protocol requested by server; consider upgrading MySQL client

mysql - 加入来自同一个表的三个查询

javascript - 注册表单(HTML、PHP 和 MySQL)在错误或缺失值后重定向

postgresql - liquibase:updateSQL 不创建表架构前缀

postgresql - 如何为变更日志表指定架构位置

java - 创建索引时 Liquibase 缓慢

mysql - 如何对不同表和不同过滤器上的多个计数求和

mysql - Symfony2 + Doctrine 选择性关系形式

postgresql - 液基数据库/PostgreSQL : how to preserve table case correctly?

java - 使用 liquibase 降级数据库 - Spring