Spring boot maven build выполнил мои операции с базой данных - PullRequest
0 голосов
/ 12 февраля 2019

Я настраиваю автономный сервер .. для изменения данных в базе данных.Когда я закончил, я запустил сборку Maven, и приложение начало изменять данные в базе данных.На самом деле он только начал вставлять и обновлять everithing.

# PostgreSQL DB - "bar"
spring.datasource.jdbc-url=jdbc:postgresql://localhost:5600/bar
spring.datasource.username=
spring.datasource.password=
spring.datasource.driver-class-name=org.postgresql.Driver

# MySQL DB - "foo"
rm.datasource.jdbc-url=jdbc:mysql://localhost:5601/foo
rm.datasource.username=
rm.datasource.password=
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true

Это все, что у меня есть в свойствах моего приложения.У меня есть два класса конфигурации как конфигурации базы данных ... и они содержат еще несколько свойств:

MySQL

properties.put("hibernate.hbm2ddl.auto", "none");
properties.put("hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect");
properties.put("rm.datasource.driver-class-name", "com.mysql.jdbc.Driver");
properties.put("zeroDateTimeBehavior", "convertToNull");

Postgres

properties.put("hibernate.hbm2ddl.auto", "none");
properties.put("hibernate.dialect","org.hibernate.dialect.PostgreSQL9Dialect");

Когда я строил свой проект, мойприложение вставлено в базу данных postgreSql.

Могу ли я просто решить его, как если бы я строил проект .. НЕ вставлять / обновлять / удалять что-либо еще .. в моей базе данных?

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

Если ваш проект Maven создается с помощью STS (Spring Tool Suite) или Spring Initializr, они автоматически создадут класс модульного теста следующим образом:

@RunWith(SpringRunner.class)
@SpringBootTest
public class ApplicationTest {

    @Test
    public void contextLoads() throws Exception {
    }

}

Аннотация @SpringBootTest сообщает Spring Bootпойти и найти основной класс конфигурации (например, с @SpringBootApplication) и использовать его для запуска контекста приложения Spring.

Поэтому, если вы хотите временно пропустить модульные тесты при запуске сборки Maven, есть несколько способов:

  • Для Eclipse установите флажок Пропустить тесты .
  • В командной строке выполните mvn install -DskipTests или mvn install -Dmaven.test.skip=true.
  • Установите для свойства skipTests значение true для <groupId>org.apache.maven.plugins</groupId> в файле pom.xml.

Кстати, вы также должны проверить, почему ваше приложение будет выполнять вставку / обновление данных в базу данных при запуске.

0 голосов
/ 12 февраля 2019

Привет, я вижу разные возможные решения:

  • Пропустить тестирование с помощью mvn clean install -DskipTests или mvn clean install -Dmaven.test.skip=true
  • Удалить все отсеки из src / test / **
  • Если вам понадобится продолжить тестирование в будущем, определите базу данных в памяти для теста, добавив:

    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <scope>test</scope>
    </dependency>
    

в ваш файл pom.xml.Последнее решение: вам может понадобиться несколько сценариев инициализации для БД

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...