Проблем при тестове.
Closed this issue · 2 comments
Поставете връзка към проекта си тук.
Здравей, Лъчо! При създаването на тестов обект ми дава следната грешка:(ERROR 25368 --- [ Test worker] o.h.engine.jdbc.spi.SqlExceptionHelper : user lacks privilege or object not found: ITEMS in statement [insert into items (buyer_id,category_id,description,image_id,name,price,seller_id,uploaded_date,id) values (?,?,?,?,?,?,?,?,default)]) не мога да разбера от къде идва този проблем при тестването и защо не успява да запази обекта в базата!
Привет!
Ако обърнеш внимание на първият ексепшън от многото, ще забележиш:
Error executing DDL "create table items (id bigint generated by default as identity (start with 1), description TEXT not null, name varchar(255) not null, price numeric(38,2) not null, uploaded_date date not null, buyer_id bigint, category_id bigint, image_id bigint, seller_id bigint, primary key (id))" via JDBC [type not found or user lacks privilege: TEXT]
TEXT
не е стандартен SQL тип и се поддържа от MySQL, но не и от HSQLDB. Този "native" тип си поставил ето тук в ItemEntity
:
@Column(nullable = false, columnDefinition = "TEXT")
private String description;
Може би имаш различни опции, две от тях са:
- Не ползвай TEXT
- HSQLDB например, има т.нар. compatibility mode с mysql. Виж документацията в раздела с TEXT. Накратко, за да го активираш трябва да настроиш jdbc url в тестовия
application.yaml
подобно наjdbc:hsqldb:mem:testdb;sql.syntax_mys=true
.
Поздрави,
Л.
Благодаря!