2016-07-25 6 views
0

Я добавил пролет к нашему весеннему загрузочному java-приложению. Единственный способ, с помощью которого я могу успешно построить проект с maven, - это прокомментировать тестовый класс. В противном случае я получаю ошибку пролета, когда пролетная дорога сталкивается с SQL-скриптом, который пытается создать индексы в сценарии создания таблицы . Ниже приведены ошибки: Вызвано: org.flywaydb.core.internal.dbsupport.FlywaySqlScriptException: Сообщение: Неизвестный тип данных: «IDK_COMPANIES_CITY»; SQL: Как я могу создать свой проект, не комментируя тесты? Класс тестирования приведен ниже: Примечание. Я могу прокомментировать класс Test, построить и развернуть проект успешно. Все сценарии SQL успешно переносятся. Приложение использует MariaDB в облаке. Благодарю.Невозможно построить проект весенней загрузки с пролетным и тестовым классом

package com.spring.sample; 

import org.junit.Test; 
import org.junit.runner.RunWith; 
import org.springframework.boot.test.SpringApplicationConfiguration; 
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; 
import org.springframework.test.context.web.WebAppConfiguration; 

@RunWith(SpringJUnit4ClassRunner.class) 
@SpringApplicationConfiguration(classes = DatabaseTestApplication.class) 
@WebAppConfiguration 
public class DatabaseTestApplicationTests { 

    @Test 
    public void contextLoads() { 
    } 

} 

ответ

1

Я предполагаю, что вы используете базу данных в памяти в своих тестах, вместо того, чтобы подключаться к живому. Это может означать, что база данных в памяти, создаваемая при выполнении ваших тестов, не поддерживает синтаксис внутри ваших сценариев Flyway.

установка этого в свойствах приложения тест Try:

spring.jpa.hibernate.dialect=org.hibernate.dialect.MySQLDialect 

Поэтому я предлагаю использовать MySQLDialect в том, что не существует ни для MariaDB и потому, что так говорит в MariaDB's Knowledge Base.

Если выше не работает, попробуйте это свойство вместо:

spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect