playframework 2.6 создание таблиц базы данных для тестов

У меня возникла проблема с Play 2, в основном я пытаюсь добавить пару функциональных тестов с использованием Play, и я пытаюсь загрузить свою текущую базу данных, я могу создать свою таблицу, вставить данные и так далее, используя мой класс Java, но я хотел бы иметь файл squema.sql и загрузить все мои таблицы создания оттуда. это то, что у меня работает:

public class LoadSchemaDataIT {

private static Database database;
private static Connection connection;

public static Database createDatabase() throws Exception {

    database = Databases.inMemory(
            "test-db",
            ImmutableMap.of(
                    "MODE", "MYSQL"
            ),
            ImmutableMap.of(
                    "logStatements", true
            )
    );

    connection = database.getConnection();

    setupDatabaseTables();
    populatingMyTable();
    return database;
}

private static void setupDatabaseTables() throws Exception {
    connection = database.getConnection();
    connection.prepareStatement(
            "create table my_beautiful_table (id bigint not null, address varchar(255), name varchar(255))")
            .execute();
}

private static void populatingMyTable() throws Exception{
    Connection connection = database.getConnection();
    connection.prepareStatement("INSERT INTO my_beautiful_table VALUES (1, 'address', 'name')").execute();
}

@Before
public void setup() throws Exception {
    database = createDatabase();
}
@Test
public void getDataFromTable() throws Exception {
    ResultSet resultSet = database.getConnection().prepareStatement("select * from my_beautiful_table where id = 1").executeQuery();
    resultSet.next();
    String name = resultSet.getString("name");
    assertEquals(name, "name");
}

Я посмотрел в документации, но не нашел ничего полезного, и, честно говоря, поскольку мне просто нужно добавить сценарий SQL, я почти уверен, что мне не хватает какой-то базовой конфигурации.

0 ответов

Другие вопросы по тегам