在空 mysql 实例上使用 liquibase 创建数据库
Create databases with liquibase on empty mysql instance
我有新的 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 作为快速 bootstrap 工具。
您需要在URL中指定数据库。
编辑
Liquibase 实际上并没有执行创建具有权限等的空数据库的第一步。这必须使用平台的本机工具来完成。一旦空数据库就位,liquibase 将通过创建正确的表等来填充数据库模式。
首先需要在URL中添加数据库名称,如jdbc:mysql://localhost:3306/database_name
。
您还可以使用此 URL
创建一个新数据库
jdbc:mysql://localhost:3306/database_name?createDatabaseIfNotExist=true
createDatabaseIfNotExist 这个关键字在你的系统中创建一个全新的数据库。如果数据库不存在。如果存在,则跳过执行。
How to create database with 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 作为快速 bootstrap 工具。
您需要在URL中指定数据库。
编辑
Liquibase 实际上并没有执行创建具有权限等的空数据库的第一步。这必须使用平台的本机工具来完成。一旦空数据库就位,liquibase 将通过创建正确的表等来填充数据库模式。
首先需要在URL中添加数据库名称,如jdbc:mysql://localhost:3306/database_name
。
您还可以使用此 URL
创建一个新数据库jdbc:mysql://localhost:3306/database_name?createDatabaseIfNotExist=true
createDatabaseIfNotExist 这个关键字在你的系统中创建一个全新的数据库。如果数据库不存在。如果存在,则跳过执行。
How to create database with Liquibase