У меня есть таблица, созданная в MySQL, которая инициирована, и она отлично работает.Но я определил базу данных в памяти с H2 для целей тестирования, которая использует тот же DDL для клонирования таблицы, с которой я могу протестировать свое приложение.
CREATE TABLE `foo` (
`fieldA` BIGINT(20) NOT NULL AUTO_INCREMENT,
`fieldB` BIGINT(20) NOT NULL,
`fieldC` TIMESTAMP NOT NULL,
`fieldD` TIMESTAMP NOT NULL,
`fieldE` VARCHAR(40) NOT NULL,
`fieldF` VARCHAR(40) NOT NULL,
`fieldG` CHAR(3) NOT NULL,
PRIMARY KEY (`id`),
KEY `fieldF` (`fieldF`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Но когда я пытаюсь инициализировать таблицу для своих тестовон выдает эту ошибку:
Причина: org.h2.jdbc.JdbcSQLException: неизвестный тип данных: "fieldF";
Это примерно так же полезно, как и ошибкаполучает.Я явно установил для поля F значение VARCHAR (40), так что мне еще нужно делать?
, если это поможет, я создаю таблицу в конфигурации Spring Boot здесь:
@Configuration
@EnableAutoConfiguration
@Import(ImportDataJobConfig.class)
public class TestJobConfiguration {
@Bean
public DataSource tlDataSource() {
return new EmbeddedDatabaseBuilder()
.generateUniqueName(true)
.setType(H2)
.setScriptEncoding("UTF-8")
.ignoreFailedDrops(true)
.addScript("sql/ve/init.sql")
.build();
}
}
Спасибо!