Org.h2.jdbc.jdbcsqlsyntaxerrorexception: схема «работа» не найдена; Заявление SQLJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Org.h2.jdbc.jdbcsqlsyntaxerrorexception: схема «работа» не найдена; Заявление SQL

Сообщение Anonymous »

Я пытаюсь проверить свое приложение, используя H2 в базе данных памяти в первый раз в моей жизни, и я столкнулся с некоторой проблемой. Когда я пытаюсь начать тест, это показывает мне такую ​​ошибку: < /p>

Код: Выделить всё

org.h2.jdbc.JdbcSQLSyntaxErrorException: Schema "WORKING" not found; SQL statement
< /code>
Я попытался найти ответ в Интернете и обнаружил, что вместо этой записи: < /p>
jdbc:h2:file:jdbc:h2:mem:db;SCHEMA=working;DB_CLOSE_DELAY=-1
< /code>
Я могу использовать это: < /p>
spring.flyway.url=jdbc:h2:mem:db;INIT=CREATE SCHEMA IF NOT EXISTS working;DB_CLOSE_DELAY=-1
< /code>
Но это не исправил эту ошибку. < /p>
Вот мое приложение.  class = "lang-ini prettyprint-override">#Hibernate
spring.datasource.url=${spring.flyway.url}
spring.datasource.username=${spring.flyway.user}
spring.datasource.password=${spring.flyway.password}
spring.jpa.hibernate.ddl-auto=create-drop
spring.datasource.driver-class-name=org.h2.Driver
logging.level.org.hibernate.SQL=debug
logging.level.org.hibernate.type.descriptor.sql=debug
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true
spring.devtools.restart.enabled = false

#flyway
spring.flyway.url=jdbc:h2:mem:db;SCHEMA=working;DB_CLOSE_DELAY=-1
spring.flyway.user=sa
spring.flyway.password=sa
#spring.flyway.schemas=working
spring.flyway.enabled=true
Вот мой тест:
shrong> userserviceTest.java

Код: Выделить всё

@DataJpaTest
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class UserServiceTest {
@Autowired
private UserService userService;

@Autowired
private UserRepo userRepo;

@AfterEach
public void deleteDb() {
List users = userRepo.findAll();
userRepo.deleteAll(users);
}

@Test
@Order(1)
public void testUserAdding() {
List addModels = getUserAddModels();
addModels.forEach(m -> isUserGetModelValid(m, userService.addUser(m)));
addModels = getInvalidUserAddModels();
addModels.forEach(m -> isUserGetModelValid(m, userService.addUser(m)));
}

private List getUserAddModels() {
return new ArrayList(List.of(
new UserAddModel(
"Alla",
"Pugacheva",
null,
"+19772395747",
null,
"AbobaAbobaAboba"
),
new UserAddModel(
"Andrey",
"Magnolin",
"FiftithEnumed",
"+19164167722",
null,
"Fi123sdamJfw+"
),
new UserAddModel(
"Andy",
"Balk",
"Isuch",
"+112486759123",
"IBiB@Basas",
"IBiB@Basas"
)
));

}

private void isUserGetModelValid(UserAddModel userAddModel, UserGetModel userGetModel) {
Assertions.assertAll(
() -> Assertions.assertNotNull(userGetModel.getId()),
() -> Assertions.assertEquals(userAddModel.getFirstName(), userGetModel.getFirstName()),
() -> Assertions.assertEquals(userAddModel.getLastName(), userGetModel.getLastName()),
() -> Assertions.assertEquals(userAddModel.getPatronymic(), userGetModel.getPatronymic()),
() -> Assertions.assertEquals(userAddModel.getEmail(), userGetModel.getEmail()),
() -> Assertions.assertEquals(userAddModel.getPhoneNumber(), userGetModel.getPhoneNumber())
);
}

private List  getInvalidUserAddModels() {
return new ArrayList(List.of(
new UserAddModel(
"FFRoasd*!TИffВ]\\\"!@}#{$yfdf4?/\\\\f\\\\%^}12н4#)([",
"Zsda_q*!fjIJF]\\\"!@}#{$yfdf4?/\\\\f\\\\%^}12н4#)([",
"ZHansda-*!ffjja@]\\\"!@}#{$yfdf4?/\\\\f\\\\%^}12н4#)([",
"ff@.google.com",
"HAHAH +15026812036749(643)40-2-75 go0odLuck",
"Э?"
),
new UserAddModel(
"Alla",
"Pugacheva",
null,
"sb@.google.com",
null,
"AbobaAbobaAboba"
),
new UserAddModel(
"Andrei",
"Balk",
"Iv",
"+112486759123",
"outlook.com",
"IlkbB@Ilkbib"
),
new UserAddModel(
"Andy",
"Balcony",
"IVconf",
"+112486759123",
"mmm@google.com",
"AAA?"
)
)
);
}

@Nested
private class UserNestedTests {

}
}
< /code>
вот мой файл Migration SQL < /p>
CREATE TABLE IF NOT EXISTS users (
id BIGINT NOT NULL,
first_name varchar(512) NOT NULL,
last_name varchar(512) NOT NULL,
patronymic varchar(512),
phone_number varchar(20) NOT NULL UNIQUE,
email varchar(64) UNIQUE,
password varchar(64) NOT NULL,
state varchar(64) NOT NULL,
primary key(id)
);
вот мой userentity.java class
@Entity
@Table(name = "users", schema = "working")
@Getter @Setter
public class UserEntity {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private long id;
private String firstName;
private String lastName;
private String patronymic;
@Column(unique = true)
private String phoneNumber;
@Column(unique = true)
private String email;
private String password;
private String state;

public UserEntity() {
}

public UserEntity(String firstName, String lastName, String patronymic, String phoneNumber, String email) {
this.firstName = firstName;
this.lastName = lastName;
this.patronymic = patronymic;
this.phoneNumber = phoneNumber;
this.email = email;
}

public static UserEntity toModel(UserAddModel userAddModel) {
UserEntity user = new UserEntity();
ModelMapper mapper = new ModelMapper();
mapper.map(userAddModel, user);
user.state = StateConstantsConfig.STUDENT;
return user;
}
}
< /code>
Так в чем может быть проблема? Если вы знаете, пожалуйста, скажите мне. Я бы очень признателен!


Подробнее здесь: https://stackoverflow.com/questions/768 ... ql-stateme
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»