Skip to content

feat: Single step import & export enhancements for CLI #6632

feat: Single step import & export enhancements for CLI

feat: Single step import & export enhancements for CLI #6632

GitHub Actions / Backend Tests failed May 6, 2024 in 1s

41 passed, 13 failed and 0 skipped

Tests failed

Report Passed Failed Skipped Time
ee/backend/tests/build/test-results/test/TEST-io.tolgee.ee.api.v2.controllers.AdvancedPermissionControllerTest.xml 13✅ 10s
ee/backend/tests/build/test-results/test/TEST-io.tolgee.ee.api.v2.controllers.AiPromptCustomizationControllerTest.xml 5✅ 2s
ee/backend/tests/build/test-results/test/TEST-io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest.xml 11❌ 3s
ee/backend/tests/build/test-results/test/TEST-io.tolgee.ee.api.v2.controllers.EeLicenseControllerTest.xml 6✅ 1s
ee/backend/tests/build/test-results/test/TEST-io.tolgee.ee.api.v2.controllers.V2ProjectsInvitationControllerEeTest.xml 5✅ 5s
ee/backend/tests/build/test-results/test/TEST-io.tolgee.ee.api.v2.controllers.WebhookConfigControllerTest.xml 5✅ 2❌ 2s
ee/backend/tests/build/test-results/test/TEST-io.tolgee.ee.EeTolgeeTranslatorControllerTest.xml 1✅ 4s
ee/backend/tests/build/test-results/test/TEST-io.tolgee.ee.service.EeSubscriptionProviderImplTest.xml 2✅ 2s
ee/backend/tests/build/test-results/test/TEST-io.tolgee.ee.UsageReportingTest.xml 1✅ 508ms
ee/backend/tests/build/test-results/test/TEST-io.tolgee.ee.UserLimitTest.xml 3✅ 5s

✅ ee/backend/tests/build/test-results/test/TEST-io.tolgee.ee.api.v2.controllers.AdvancedPermissionControllerTest.xml

13 tests were completed in 10s with 13 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.ee.api.v2.controllers.AdvancedPermissionControllerTest 13✅ 10s

✅ io.tolgee.ee.api.v2.controllers.AdvancedPermissionControllerTest

✅ validates permissions (empty scopes)()
✅ view contains at least the scopes from translate and state change()
✅ sets user's permissions with translateLanguages and view ()
✅ validates permissions (admin and viewLanguages)()
✅ validates permissions (translate languages and scopes)()
✅ validates permissions (admin and stateChangeLanguages)()
✅ validates permissions (view languages and scopes)()
✅ cannot set organization base permission with scopes when disabled()
✅ validates permissions (state change languages and scopes)()
✅ goes from scopes to type and from type to scopes()
✅ fails to set user's permission when feature disabled()
✅ sets organization base permission with scopes()
✅ validates permissions (admin and translateLanguages)()

✅ ee/backend/tests/build/test-results/test/TEST-io.tolgee.ee.api.v2.controllers.AiPromptCustomizationControllerTest.xml

5 tests were completed in 2s with 5 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.ee.api.v2.controllers.AiPromptCustomizationControllerTest 5✅ 2s

✅ io.tolgee.ee.api.v2.controllers.AiPromptCustomizationControllerTest

✅ get language prompt customizations()
✅ set project prompt customization fails when feature is not enabled()
✅ set language prompt customization()
✅ get project prompt customization()
✅ set project prompt customization()

❌ ee/backend/tests/build/test-results/test/TEST-io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest.xml

11 tests were completed in 3s with 0 passed, 11 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest 11❌ 3s

❌ io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest

❌ deletes an storage()
	org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:34.084+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',244,'TRUE','6fef5cdaeb9b7a10d4e851fd61722da5','.','FALSE','2024-05-06 10:23:34.084+00',1000015001) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
❌ tests azure storage()
	org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:34.415+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',245,'TRUE','cc867f19d770942fd74298a192e0dd4f','.','FALSE','2024-05-06 10:23:34.415+00',1000015002) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
❌ lists storages()
	org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:34.657+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',246,'TRUE','d0babe618287e85ad20d2724c762dea1','.','FALSE','2024-05-06 10:23:34.657+00',1000015003) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
❌ validates Azure Config storage()
	org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:34.895+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',247,'TRUE','099cb6dd813a24cedc580ae9397e2feb','.','FALSE','2024-05-06 10:23:34.895+00',1000015004) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
❌ deletes not delete when in use()
	org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:35.207+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',248,'TRUE','df1911cb2a34986501c67d856639e5e6','.','FALSE','2024-05-06 10:23:35.207+00',1000015005) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
❌ creates Content Storage()
	org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:35.423+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',249,'TRUE','2c9b76b609937a54aa3825c3a224ca75','.','FALSE','2024-05-06 10:23:35.423+00',1000015006) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
❌ updates Content Storage to the same type()
	org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:35.635+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',250,'TRUE','2d7e503da0880b19816e60c996560e29','.','FALSE','2024-05-06 10:23:35.635+00',1000015007) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
❌ updates Content Storage()
	org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:35.871+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',251,'TRUE','94301ccb4a1996449b18bd18dbbfc8d1','.','FALSE','2024-05-06 10:23:35.871+00',1000015008) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
❌ tests s3 storage()
	org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:36.077+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',252,'TRUE','54a03e3c27b2bcd476042965939f9d4f','.','FALSE','2024-05-06 10:23:36.077+00',1000015009) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
❌ tests new configuration for existing azure storage()
	org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:36.299+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',253,'TRUE','66041533d04f78a3a5af09e2824f35e0','.','FALSE','2024-05-06 10:23:36.299+00',1000015010) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
❌ returns single storage()
	org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:36.499+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',254,'TRUE','7088698e3ac82fbc775f4aec7af6f95a','.','FALSE','2024-05-06 10:23:36.499+00',1000015011) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist

✅ ee/backend/tests/build/test-results/test/TEST-io.tolgee.ee.api.v2.controllers.EeLicenseControllerTest.xml

6 tests were completed in 1s with 6 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.ee.api.v2.controllers.EeLicenseControllerTest 6✅ 1s

✅ io.tolgee.ee.api.v2.controllers.EeLicenseControllerTest

✅ prepare operation works fine()
✅ releases license key info()
✅ refreshes subscription()
✅ it set's license key()
✅ set license key operation is not sensitive for non-breaking API change()
✅ returns info()

✅ ee/backend/tests/build/test-results/test/TEST-io.tolgee.ee.api.v2.controllers.V2ProjectsInvitationControllerEeTest.xml

5 tests were completed in 5s with 5 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.ee.api.v2.controllers.V2ProjectsInvitationControllerEeTest 5✅ 5s

✅ io.tolgee.ee.api.v2.controllers.V2ProjectsInvitationControllerEeTest

✅ fails when feature disabled()
✅ invites user to project with scopes()
✅ adds the languages to view()
✅ validates language permissions()
✅ validates permissions (type vs scopes)()

❌ ee/backend/tests/build/test-results/test/TEST-io.tolgee.ee.api.v2.controllers.WebhookConfigControllerTest.xml

7 tests were completed in 2s with 5 passed, 2 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.ee.api.v2.controllers.WebhookConfigControllerTest 5✅ 2❌ 2s

❌ io.tolgee.ee.api.v2.controllers.WebhookConfigControllerTest

✅ doesnt create multiple webhooks without feature enabled()
✅ creates webhook config()
✅ get single webhook config()
✅ lists webhook configs()
❌ deletes webhook config()
	java.lang.AssertionError: Status expected:<200> but was:<500>
✅ tests a config()
❌ updates webhook config()
	java.lang.AssertionError: Status expected:<200> but was:<500>

✅ ee/backend/tests/build/test-results/test/TEST-io.tolgee.ee.EeTolgeeTranslatorControllerTest.xml

1 tests were completed in 4s with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.ee.EeTolgeeTranslatorControllerTest 1✅ 4s

✅ io.tolgee.ee.EeTolgeeTranslatorControllerTest

✅ it translates()

✅ ee/backend/tests/build/test-results/test/TEST-io.tolgee.ee.service.EeSubscriptionProviderImplTest.xml

2 tests were completed in 2s with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.ee.service.EeSubscriptionProviderImplTest 2✅ 2s

✅ io.tolgee.ee.service.EeSubscriptionProviderImplTest

✅ cancels subscription when other instance uses the key()
✅ it checks for subscription changes()

✅ ee/backend/tests/build/test-results/test/TEST-io.tolgee.ee.UsageReportingTest.xml

1 tests were completed in 508ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.ee.UsageReportingTest 1✅ 508ms

✅ io.tolgee.ee.UsageReportingTest

✅ it checks for subscription changes()

✅ ee/backend/tests/build/test-results/test/TEST-io.tolgee.ee.UserLimitTest.xml

3 tests were completed in 5s with 3 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.ee.UserLimitTest 3✅ 5s

✅ io.tolgee.ee.UserLimitTest

✅ can delete users when over plan()
✅ cannot create 11th user()
✅ can disable users when over plan()

Annotations

Check failure on line 104 in backend/data/src/main/kotlin/io/tolgee/service/contentDelivery/ContentDeliveryConfigService.kt

See this annotation in the file changed.

@github-actions github-actions / Backend Tests

io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest ► deletes an storage()

Failed test found in:
  ee/backend/tests/build/test-results/test/TEST-io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest.xml
Error:
  org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:34.084+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',244,'TRUE','6fef5cdaeb9b7a10d4e851fd61722da5','.','FALSE','2024-05-06 10:23:34.084+00',1000015001) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
Raw output
org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:34.084+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',244,'TRUE','6fef5cdaeb9b7a10d4e851fd61722da5','.','FALSE','2024-05-06 10:23:34.084+00',1000015001) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.] [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]; SQL [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]
	at app//org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:256)
	at app//org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:229)
	at app//org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:550)
	at app//org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61)
	at app//org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:243)
	at app//org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:135)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.repository.core.support.MethodInvocationValidator.invoke(MethodInvocationValidator.java:94)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:244)
	at app/jdk.proxy3/jdk.proxy3.$Proxy344.isSlugUnique(Unknown Source)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$generateSlug$1.invoke(ContentDeliveryConfigService.kt:104)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$generateSlug$1.invoke(ContentDeliveryConfigService.kt:103)
	at app//io.tolgee.util.SlugGenerator.generate(SlugGenerator.kt:45)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService.generateSlug(ContentDeliveryConfigService.kt:103)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
	at app//org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:699)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$$SpringCGLIB$$0.generateSlug(<generated>)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveContentDeliveryConfigs(TestDataService.kt:233)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveAllProjectDependants(TestDataService.kt:211)
	at app//io.tolgee.development.testDataBuilder.TestDataService.access$saveAllProjectDependants(TestDataService.kt:48)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveAllProjects$1$1.invoke(TestDataService.kt:381)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveAllProjects$1$1.invoke(TestDataService.kt:379)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$lambda$0(transactionUtil.kt:22)
	at app//org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:21)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$default(transactionUtil.kt:11)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:30)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveAllProjects(TestDataService.kt:379)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveProjectData(TestDataService.kt:165)
	at app//io.tolgee.development.testDataBuilder.TestDataService.access$saveProjectData(TestDataService.kt:48)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveTestData$3.invoke(TestDataService.kt:112)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveTestData$3.invoke(TestDataService.kt:111)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$lambda$0(transactionUtil.kt:22)
	at app//org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:21)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$default(transactionUtil.kt:11)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:30)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveTestData(TestDataService.kt:111)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
	at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
	at app//org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:391)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751)
	at app//org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:703)
	at app//io.tolgee.development.testDataBuilder.TestDataService$$SpringCGLIB$$0.saveTestData(<generated>)
	at app//io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest.beforeEach(ContentStorageControllerTest.kt:52)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
	at app//org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.interceptLifecycleMethod(TimeoutExtension.java:128)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.interceptBeforeEachMethod(TimeoutExtension.java:78)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86)
	at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeMethodInExtensionContext(ClassBasedTestDescriptor.java:520)
	at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$synthesizeBeforeEachMethodAdapter$23(ClassBasedTestDescriptor.java:505)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeEachMethods$3(TestMethodTestDescriptor.java:174)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeMethodsOrCallbacksUntilExceptionOccurs$6(TestMethodTestDescriptor.java:202)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeMethodsOrCallbacksUntilExceptionOccurs(TestMethodTestDescriptor.java:202)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeEachMethods(TestMethodTestDescriptor.java:171)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:134)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.base@17.0.11/java.util.ArrayList.forEach(ArrayList.java:1511)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.base@17.0.11/java.util.ArrayList.forEach(ArrayList.java:1511)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
	at app//org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
	at app//org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
	at app//org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
	at app//org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
	at app//org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:119)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:94)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:89)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:62)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
	at jdk.proxy1/jdk.proxy1.$Proxy2.stop(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)
	at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65)
	at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
	at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
Caused by: org.hibernate.exception.SQLGrammarException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:34.084+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',244,'TRUE','6fef5cdaeb9b7a10d4e851fd61722da5','.','FALSE','2024-05-06 10:23:34.084+00',1000015001) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.] [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]
	at app//org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:91)
	at app//org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:58)
	at app//org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.lambda$performExecution$2(BatchImpl.java:294)
	at app//org.hibernate.engine.jdbc.mutation.internal.PreparedStatementGroupSingleTable.forEachStatement(PreparedStatementGroupSingleTable.java:59)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.performExecution(BatchImpl.java:264)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.execute(BatchImpl.java:242)
	at app//org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.executeBatch(JdbcCoordinatorImpl.java:188)
	at app//org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:662)
	at app//org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:499)
	at app//org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:363)
	at app//org.hibernate.event.internal.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:61)
	at app//org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:127)
	at app//org.hibernate.internal.SessionImpl.autoFlushIfRequired(SessionImpl.java:1386)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.lambda$new$2(ConcreteSqmSelectQueryPlan.java:136)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.withCacheableSqmInterpretation(ConcreteSqmSelectQueryPlan.java:359)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.performList(ConcreteSqmSelectQueryPlan.java:300)
	at app//org.hibernate.query.sqm.internal.QuerySqmImpl.doList(QuerySqmImpl.java:509)
	at app//org.hibernate.query.spi.AbstractSelectionQuery.list(AbstractSelectionQuery.java:427)
	at app//org.hibernate.query.spi.AbstractSelectionQuery.getSingleResult(AbstractSelectionQuery.java:564)
	at app//org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution.doExecute(JpaQueryExecution.java:223)
	at app//org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:92)
	at app//org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:149)
	at app//org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:137)
	at app//org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:136)
	at app//org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:120)
	at app//org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:164)
	at app//org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:143)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:72)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
	at app//org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:391)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137)
	... 145 more
Caused by: java.sql.BatchUpdateException: Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:34.084+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',244,'TRUE','6fef5cdaeb9b7a10d4e851fd61722da5','.','FALSE','2024-05-06 10:23:34.084+00',1000015001) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.
	at app//org.postgresql.jdbc.BatchResultHandler.handleError(BatchResultHandler.java:165)
	at app//org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2402)
	at app//org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:574)
	at app//org.postgresql.jdbc.PgStatement.internalExecuteBatch(PgStatement.java:896)
	at app//org.postgresql.jdbc.PgStatement.executeBatch(PgStatement.java:919)
	at app//org.postgresql.jdbc.PgPreparedStatement.executeBatch(PgPreparedStatement.java:1685)
	at app//com.zaxxer.hikari.pool.ProxyStatement.executeBatch(ProxyStatement.java:127)
	at app//com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeBatch(HikariProxyPreparedStatement.java)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.lambda$performExecution$2(BatchImpl.java:279)
	... 177 more
Caused by: org.postgresql.util.PSQLException: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80
	at app//org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2713)
	at app//org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2401)
	... 184 more

Check failure on line 104 in backend/data/src/main/kotlin/io/tolgee/service/contentDelivery/ContentDeliveryConfigService.kt

See this annotation in the file changed.

@github-actions github-actions / Backend Tests

io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest ► tests azure storage()

Failed test found in:
  ee/backend/tests/build/test-results/test/TEST-io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest.xml
Error:
  org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:34.415+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',245,'TRUE','cc867f19d770942fd74298a192e0dd4f','.','FALSE','2024-05-06 10:23:34.415+00',1000015002) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
Raw output
org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:34.415+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',245,'TRUE','cc867f19d770942fd74298a192e0dd4f','.','FALSE','2024-05-06 10:23:34.415+00',1000015002) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.] [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]; SQL [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]
	at app//org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:256)
	at app//org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:229)
	at app//org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:550)
	at app//org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61)
	at app//org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:243)
	at app//org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:135)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.repository.core.support.MethodInvocationValidator.invoke(MethodInvocationValidator.java:94)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:244)
	at app/jdk.proxy3/jdk.proxy3.$Proxy344.isSlugUnique(Unknown Source)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$generateSlug$1.invoke(ContentDeliveryConfigService.kt:104)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$generateSlug$1.invoke(ContentDeliveryConfigService.kt:103)
	at app//io.tolgee.util.SlugGenerator.generate(SlugGenerator.kt:45)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService.generateSlug(ContentDeliveryConfigService.kt:103)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
	at app//org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:699)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$$SpringCGLIB$$0.generateSlug(<generated>)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveContentDeliveryConfigs(TestDataService.kt:233)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveAllProjectDependants(TestDataService.kt:211)
	at app//io.tolgee.development.testDataBuilder.TestDataService.access$saveAllProjectDependants(TestDataService.kt:48)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveAllProjects$1$1.invoke(TestDataService.kt:381)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveAllProjects$1$1.invoke(TestDataService.kt:379)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$lambda$0(transactionUtil.kt:22)
	at app//org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:21)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$default(transactionUtil.kt:11)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:30)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveAllProjects(TestDataService.kt:379)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveProjectData(TestDataService.kt:165)
	at app//io.tolgee.development.testDataBuilder.TestDataService.access$saveProjectData(TestDataService.kt:48)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveTestData$3.invoke(TestDataService.kt:112)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveTestData$3.invoke(TestDataService.kt:111)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$lambda$0(transactionUtil.kt:22)
	at app//org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:21)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$default(transactionUtil.kt:11)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:30)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveTestData(TestDataService.kt:111)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
	at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
	at app//org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:391)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751)
	at app//org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:703)
	at app//io.tolgee.development.testDataBuilder.TestDataService$$SpringCGLIB$$0.saveTestData(<generated>)
	at app//io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest.beforeEach(ContentStorageControllerTest.kt:52)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
	at app//org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.interceptLifecycleMethod(TimeoutExtension.java:128)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.interceptBeforeEachMethod(TimeoutExtension.java:78)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86)
	at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeMethodInExtensionContext(ClassBasedTestDescriptor.java:520)
	at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$synthesizeBeforeEachMethodAdapter$23(ClassBasedTestDescriptor.java:505)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeEachMethods$3(TestMethodTestDescriptor.java:174)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeMethodsOrCallbacksUntilExceptionOccurs$6(TestMethodTestDescriptor.java:202)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeMethodsOrCallbacksUntilExceptionOccurs(TestMethodTestDescriptor.java:202)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeEachMethods(TestMethodTestDescriptor.java:171)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:134)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.base@17.0.11/java.util.ArrayList.forEach(ArrayList.java:1511)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.base@17.0.11/java.util.ArrayList.forEach(ArrayList.java:1511)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
	at app//org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
	at app//org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
	at app//org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
	at app//org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
	at app//org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:119)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:94)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:89)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:62)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
	at jdk.proxy1/jdk.proxy1.$Proxy2.stop(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)
	at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65)
	at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
	at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
Caused by: org.hibernate.exception.SQLGrammarException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:34.415+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',245,'TRUE','cc867f19d770942fd74298a192e0dd4f','.','FALSE','2024-05-06 10:23:34.415+00',1000015002) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.] [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]
	at app//org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:91)
	at app//org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:58)
	at app//org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.lambda$performExecution$2(BatchImpl.java:294)
	at app//org.hibernate.engine.jdbc.mutation.internal.PreparedStatementGroupSingleTable.forEachStatement(PreparedStatementGroupSingleTable.java:59)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.performExecution(BatchImpl.java:264)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.execute(BatchImpl.java:242)
	at app//org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.executeBatch(JdbcCoordinatorImpl.java:188)
	at app//org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:662)
	at app//org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:499)
	at app//org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:363)
	at app//org.hibernate.event.internal.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:61)
	at app//org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:127)
	at app//org.hibernate.internal.SessionImpl.autoFlushIfRequired(SessionImpl.java:1386)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.lambda$new$2(ConcreteSqmSelectQueryPlan.java:136)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.withCacheableSqmInterpretation(ConcreteSqmSelectQueryPlan.java:359)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.performList(ConcreteSqmSelectQueryPlan.java:300)
	at app//org.hibernate.query.sqm.internal.QuerySqmImpl.doList(QuerySqmImpl.java:509)
	at app//org.hibernate.query.spi.AbstractSelectionQuery.list(AbstractSelectionQuery.java:427)
	at app//org.hibernate.query.spi.AbstractSelectionQuery.getSingleResult(AbstractSelectionQuery.java:564)
	at app//org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution.doExecute(JpaQueryExecution.java:223)
	at app//org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:92)
	at app//org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:149)
	at app//org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:137)
	at app//org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:136)
	at app//org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:120)
	at app//org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:164)
	at app//org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:143)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:72)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
	at app//org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:391)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137)
	... 145 more
Caused by: java.sql.BatchUpdateException: Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:34.415+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',245,'TRUE','cc867f19d770942fd74298a192e0dd4f','.','FALSE','2024-05-06 10:23:34.415+00',1000015002) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.
	at app//org.postgresql.jdbc.BatchResultHandler.handleError(BatchResultHandler.java:165)
	at app//org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2402)
	at app//org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:574)
	at app//org.postgresql.jdbc.PgStatement.internalExecuteBatch(PgStatement.java:896)
	at app//org.postgresql.jdbc.PgStatement.executeBatch(PgStatement.java:919)
	at app//org.postgresql.jdbc.PgPreparedStatement.executeBatch(PgPreparedStatement.java:1685)
	at app//com.zaxxer.hikari.pool.ProxyStatement.executeBatch(ProxyStatement.java:127)
	at app//com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeBatch(HikariProxyPreparedStatement.java)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.lambda$performExecution$2(BatchImpl.java:279)
	... 177 more
Caused by: org.postgresql.util.PSQLException: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80
	at app//org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2713)
	at app//org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2401)
	... 184 more

Check failure on line 104 in backend/data/src/main/kotlin/io/tolgee/service/contentDelivery/ContentDeliveryConfigService.kt

See this annotation in the file changed.

@github-actions github-actions / Backend Tests

io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest ► lists storages()

Failed test found in:
  ee/backend/tests/build/test-results/test/TEST-io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest.xml
Error:
  org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:34.657+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',246,'TRUE','d0babe618287e85ad20d2724c762dea1','.','FALSE','2024-05-06 10:23:34.657+00',1000015003) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
Raw output
org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:34.657+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',246,'TRUE','d0babe618287e85ad20d2724c762dea1','.','FALSE','2024-05-06 10:23:34.657+00',1000015003) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.] [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]; SQL [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]
	at app//org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:256)
	at app//org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:229)
	at app//org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:550)
	at app//org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61)
	at app//org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:243)
	at app//org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:135)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.repository.core.support.MethodInvocationValidator.invoke(MethodInvocationValidator.java:94)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:244)
	at app/jdk.proxy3/jdk.proxy3.$Proxy344.isSlugUnique(Unknown Source)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$generateSlug$1.invoke(ContentDeliveryConfigService.kt:104)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$generateSlug$1.invoke(ContentDeliveryConfigService.kt:103)
	at app//io.tolgee.util.SlugGenerator.generate(SlugGenerator.kt:45)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService.generateSlug(ContentDeliveryConfigService.kt:103)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
	at app//org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:699)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$$SpringCGLIB$$0.generateSlug(<generated>)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveContentDeliveryConfigs(TestDataService.kt:233)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveAllProjectDependants(TestDataService.kt:211)
	at app//io.tolgee.development.testDataBuilder.TestDataService.access$saveAllProjectDependants(TestDataService.kt:48)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveAllProjects$1$1.invoke(TestDataService.kt:381)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveAllProjects$1$1.invoke(TestDataService.kt:379)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$lambda$0(transactionUtil.kt:22)
	at app//org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:21)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$default(transactionUtil.kt:11)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:30)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveAllProjects(TestDataService.kt:379)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveProjectData(TestDataService.kt:165)
	at app//io.tolgee.development.testDataBuilder.TestDataService.access$saveProjectData(TestDataService.kt:48)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveTestData$3.invoke(TestDataService.kt:112)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveTestData$3.invoke(TestDataService.kt:111)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$lambda$0(transactionUtil.kt:22)
	at app//org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:21)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$default(transactionUtil.kt:11)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:30)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveTestData(TestDataService.kt:111)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
	at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
	at app//org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:391)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751)
	at app//org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:703)
	at app//io.tolgee.development.testDataBuilder.TestDataService$$SpringCGLIB$$0.saveTestData(<generated>)
	at app//io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest.beforeEach(ContentStorageControllerTest.kt:52)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
	at app//org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.interceptLifecycleMethod(TimeoutExtension.java:128)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.interceptBeforeEachMethod(TimeoutExtension.java:78)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86)
	at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeMethodInExtensionContext(ClassBasedTestDescriptor.java:520)
	at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$synthesizeBeforeEachMethodAdapter$23(ClassBasedTestDescriptor.java:505)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeEachMethods$3(TestMethodTestDescriptor.java:174)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeMethodsOrCallbacksUntilExceptionOccurs$6(TestMethodTestDescriptor.java:202)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeMethodsOrCallbacksUntilExceptionOccurs(TestMethodTestDescriptor.java:202)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeEachMethods(TestMethodTestDescriptor.java:171)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:134)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.base@17.0.11/java.util.ArrayList.forEach(ArrayList.java:1511)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.base@17.0.11/java.util.ArrayList.forEach(ArrayList.java:1511)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
	at app//org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
	at app//org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
	at app//org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
	at app//org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
	at app//org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:119)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:94)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:89)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:62)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
	at jdk.proxy1/jdk.proxy1.$Proxy2.stop(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)
	at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65)
	at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
	at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
Caused by: org.hibernate.exception.SQLGrammarException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:34.657+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',246,'TRUE','d0babe618287e85ad20d2724c762dea1','.','FALSE','2024-05-06 10:23:34.657+00',1000015003) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.] [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]
	at app//org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:91)
	at app//org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:58)
	at app//org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.lambda$performExecution$2(BatchImpl.java:294)
	at app//org.hibernate.engine.jdbc.mutation.internal.PreparedStatementGroupSingleTable.forEachStatement(PreparedStatementGroupSingleTable.java:59)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.performExecution(BatchImpl.java:264)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.execute(BatchImpl.java:242)
	at app//org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.executeBatch(JdbcCoordinatorImpl.java:188)
	at app//org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:662)
	at app//org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:499)
	at app//org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:363)
	at app//org.hibernate.event.internal.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:61)
	at app//org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:127)
	at app//org.hibernate.internal.SessionImpl.autoFlushIfRequired(SessionImpl.java:1386)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.lambda$new$2(ConcreteSqmSelectQueryPlan.java:136)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.withCacheableSqmInterpretation(ConcreteSqmSelectQueryPlan.java:359)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.performList(ConcreteSqmSelectQueryPlan.java:300)
	at app//org.hibernate.query.sqm.internal.QuerySqmImpl.doList(QuerySqmImpl.java:509)
	at app//org.hibernate.query.spi.AbstractSelectionQuery.list(AbstractSelectionQuery.java:427)
	at app//org.hibernate.query.spi.AbstractSelectionQuery.getSingleResult(AbstractSelectionQuery.java:564)
	at app//org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution.doExecute(JpaQueryExecution.java:223)
	at app//org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:92)
	at app//org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:149)
	at app//org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:137)
	at app//org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:136)
	at app//org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:120)
	at app//org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:164)
	at app//org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:143)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:72)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
	at app//org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:391)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137)
	... 145 more
Caused by: java.sql.BatchUpdateException: Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:34.657+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',246,'TRUE','d0babe618287e85ad20d2724c762dea1','.','FALSE','2024-05-06 10:23:34.657+00',1000015003) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.
	at app//org.postgresql.jdbc.BatchResultHandler.handleError(BatchResultHandler.java:165)
	at app//org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2402)
	at app//org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:574)
	at app//org.postgresql.jdbc.PgStatement.internalExecuteBatch(PgStatement.java:896)
	at app//org.postgresql.jdbc.PgStatement.executeBatch(PgStatement.java:919)
	at app//org.postgresql.jdbc.PgPreparedStatement.executeBatch(PgPreparedStatement.java:1685)
	at app//com.zaxxer.hikari.pool.ProxyStatement.executeBatch(ProxyStatement.java:127)
	at app//com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeBatch(HikariProxyPreparedStatement.java)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.lambda$performExecution$2(BatchImpl.java:279)
	... 177 more
Caused by: org.postgresql.util.PSQLException: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80
	at app//org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2713)
	at app//org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2401)
	... 184 more

Check failure on line 104 in backend/data/src/main/kotlin/io/tolgee/service/contentDelivery/ContentDeliveryConfigService.kt

See this annotation in the file changed.

@github-actions github-actions / Backend Tests

io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest ► validates Azure Config storage()

Failed test found in:
  ee/backend/tests/build/test-results/test/TEST-io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest.xml
Error:
  org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:34.895+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',247,'TRUE','099cb6dd813a24cedc580ae9397e2feb','.','FALSE','2024-05-06 10:23:34.895+00',1000015004) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
Raw output
org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:34.895+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',247,'TRUE','099cb6dd813a24cedc580ae9397e2feb','.','FALSE','2024-05-06 10:23:34.895+00',1000015004) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.] [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]; SQL [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]
	at app//org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:256)
	at app//org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:229)
	at app//org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:550)
	at app//org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61)
	at app//org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:243)
	at app//org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:135)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.repository.core.support.MethodInvocationValidator.invoke(MethodInvocationValidator.java:94)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:244)
	at app/jdk.proxy3/jdk.proxy3.$Proxy344.isSlugUnique(Unknown Source)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$generateSlug$1.invoke(ContentDeliveryConfigService.kt:104)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$generateSlug$1.invoke(ContentDeliveryConfigService.kt:103)
	at app//io.tolgee.util.SlugGenerator.generate(SlugGenerator.kt:45)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService.generateSlug(ContentDeliveryConfigService.kt:103)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
	at app//org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:699)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$$SpringCGLIB$$0.generateSlug(<generated>)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveContentDeliveryConfigs(TestDataService.kt:233)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveAllProjectDependants(TestDataService.kt:211)
	at app//io.tolgee.development.testDataBuilder.TestDataService.access$saveAllProjectDependants(TestDataService.kt:48)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveAllProjects$1$1.invoke(TestDataService.kt:381)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveAllProjects$1$1.invoke(TestDataService.kt:379)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$lambda$0(transactionUtil.kt:22)
	at app//org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:21)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$default(transactionUtil.kt:11)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:30)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveAllProjects(TestDataService.kt:379)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveProjectData(TestDataService.kt:165)
	at app//io.tolgee.development.testDataBuilder.TestDataService.access$saveProjectData(TestDataService.kt:48)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveTestData$3.invoke(TestDataService.kt:112)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveTestData$3.invoke(TestDataService.kt:111)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$lambda$0(transactionUtil.kt:22)
	at app//org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:21)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$default(transactionUtil.kt:11)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:30)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveTestData(TestDataService.kt:111)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
	at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
	at app//org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:391)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751)
	at app//org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:703)
	at app//io.tolgee.development.testDataBuilder.TestDataService$$SpringCGLIB$$0.saveTestData(<generated>)
	at app//io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest.beforeEach(ContentStorageControllerTest.kt:52)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
	at app//org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.interceptLifecycleMethod(TimeoutExtension.java:128)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.interceptBeforeEachMethod(TimeoutExtension.java:78)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86)
	at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeMethodInExtensionContext(ClassBasedTestDescriptor.java:520)
	at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$synthesizeBeforeEachMethodAdapter$23(ClassBasedTestDescriptor.java:505)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeEachMethods$3(TestMethodTestDescriptor.java:174)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeMethodsOrCallbacksUntilExceptionOccurs$6(TestMethodTestDescriptor.java:202)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeMethodsOrCallbacksUntilExceptionOccurs(TestMethodTestDescriptor.java:202)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeEachMethods(TestMethodTestDescriptor.java:171)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:134)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.base@17.0.11/java.util.ArrayList.forEach(ArrayList.java:1511)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.base@17.0.11/java.util.ArrayList.forEach(ArrayList.java:1511)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
	at app//org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
	at app//org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
	at app//org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
	at app//org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
	at app//org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:119)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:94)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:89)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:62)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
	at jdk.proxy1/jdk.proxy1.$Proxy2.stop(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)
	at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65)
	at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
	at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
Caused by: org.hibernate.exception.SQLGrammarException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:34.895+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',247,'TRUE','099cb6dd813a24cedc580ae9397e2feb','.','FALSE','2024-05-06 10:23:34.895+00',1000015004) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.] [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]
	at app//org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:91)
	at app//org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:58)
	at app//org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.lambda$performExecution$2(BatchImpl.java:294)
	at app//org.hibernate.engine.jdbc.mutation.internal.PreparedStatementGroupSingleTable.forEachStatement(PreparedStatementGroupSingleTable.java:59)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.performExecution(BatchImpl.java:264)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.execute(BatchImpl.java:242)
	at app//org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.executeBatch(JdbcCoordinatorImpl.java:188)
	at app//org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:662)
	at app//org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:499)
	at app//org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:363)
	at app//org.hibernate.event.internal.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:61)
	at app//org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:127)
	at app//org.hibernate.internal.SessionImpl.autoFlushIfRequired(SessionImpl.java:1386)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.lambda$new$2(ConcreteSqmSelectQueryPlan.java:136)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.withCacheableSqmInterpretation(ConcreteSqmSelectQueryPlan.java:359)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.performList(ConcreteSqmSelectQueryPlan.java:300)
	at app//org.hibernate.query.sqm.internal.QuerySqmImpl.doList(QuerySqmImpl.java:509)
	at app//org.hibernate.query.spi.AbstractSelectionQuery.list(AbstractSelectionQuery.java:427)
	at app//org.hibernate.query.spi.AbstractSelectionQuery.getSingleResult(AbstractSelectionQuery.java:564)
	at app//org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution.doExecute(JpaQueryExecution.java:223)
	at app//org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:92)
	at app//org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:149)
	at app//org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:137)
	at app//org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:136)
	at app//org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:120)
	at app//org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:164)
	at app//org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:143)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:72)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
	at app//org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:391)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137)
	... 145 more
Caused by: java.sql.BatchUpdateException: Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:34.895+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',247,'TRUE','099cb6dd813a24cedc580ae9397e2feb','.','FALSE','2024-05-06 10:23:34.895+00',1000015004) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.
	at app//org.postgresql.jdbc.BatchResultHandler.handleError(BatchResultHandler.java:165)
	at app//org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2402)
	at app//org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:574)
	at app//org.postgresql.jdbc.PgStatement.internalExecuteBatch(PgStatement.java:896)
	at app//org.postgresql.jdbc.PgStatement.executeBatch(PgStatement.java:919)
	at app//org.postgresql.jdbc.PgPreparedStatement.executeBatch(PgPreparedStatement.java:1685)
	at app//com.zaxxer.hikari.pool.ProxyStatement.executeBatch(ProxyStatement.java:127)
	at app//com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeBatch(HikariProxyPreparedStatement.java)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.lambda$performExecution$2(BatchImpl.java:279)
	... 177 more
Caused by: org.postgresql.util.PSQLException: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80
	at app//org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2713)
	at app//org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2401)
	... 184 more

Check failure on line 104 in backend/data/src/main/kotlin/io/tolgee/service/contentDelivery/ContentDeliveryConfigService.kt

See this annotation in the file changed.

@github-actions github-actions / Backend Tests

io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest ► deletes not delete when in use()

Failed test found in:
  ee/backend/tests/build/test-results/test/TEST-io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest.xml
Error:
  org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:35.207+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',248,'TRUE','df1911cb2a34986501c67d856639e5e6','.','FALSE','2024-05-06 10:23:35.207+00',1000015005) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
Raw output
org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:35.207+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',248,'TRUE','df1911cb2a34986501c67d856639e5e6','.','FALSE','2024-05-06 10:23:35.207+00',1000015005) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.] [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]; SQL [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]
	at app//org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:256)
	at app//org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:229)
	at app//org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:550)
	at app//org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61)
	at app//org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:243)
	at app//org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:135)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.repository.core.support.MethodInvocationValidator.invoke(MethodInvocationValidator.java:94)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:244)
	at app/jdk.proxy3/jdk.proxy3.$Proxy344.isSlugUnique(Unknown Source)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$generateSlug$1.invoke(ContentDeliveryConfigService.kt:104)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$generateSlug$1.invoke(ContentDeliveryConfigService.kt:103)
	at app//io.tolgee.util.SlugGenerator.generate(SlugGenerator.kt:45)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService.generateSlug(ContentDeliveryConfigService.kt:103)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
	at app//org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:699)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$$SpringCGLIB$$0.generateSlug(<generated>)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveContentDeliveryConfigs(TestDataService.kt:233)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveAllProjectDependants(TestDataService.kt:211)
	at app//io.tolgee.development.testDataBuilder.TestDataService.access$saveAllProjectDependants(TestDataService.kt:48)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveAllProjects$1$1.invoke(TestDataService.kt:381)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveAllProjects$1$1.invoke(TestDataService.kt:379)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$lambda$0(transactionUtil.kt:22)
	at app//org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:21)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$default(transactionUtil.kt:11)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:30)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveAllProjects(TestDataService.kt:379)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveProjectData(TestDataService.kt:165)
	at app//io.tolgee.development.testDataBuilder.TestDataService.access$saveProjectData(TestDataService.kt:48)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveTestData$3.invoke(TestDataService.kt:112)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveTestData$3.invoke(TestDataService.kt:111)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$lambda$0(transactionUtil.kt:22)
	at app//org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:21)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$default(transactionUtil.kt:11)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:30)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveTestData(TestDataService.kt:111)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
	at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
	at app//org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:391)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751)
	at app//org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:703)
	at app//io.tolgee.development.testDataBuilder.TestDataService$$SpringCGLIB$$0.saveTestData(<generated>)
	at app//io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest.beforeEach(ContentStorageControllerTest.kt:52)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
	at app//org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.interceptLifecycleMethod(TimeoutExtension.java:128)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.interceptBeforeEachMethod(TimeoutExtension.java:78)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86)
	at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeMethodInExtensionContext(ClassBasedTestDescriptor.java:520)
	at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$synthesizeBeforeEachMethodAdapter$23(ClassBasedTestDescriptor.java:505)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeEachMethods$3(TestMethodTestDescriptor.java:174)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeMethodsOrCallbacksUntilExceptionOccurs$6(TestMethodTestDescriptor.java:202)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeMethodsOrCallbacksUntilExceptionOccurs(TestMethodTestDescriptor.java:202)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeEachMethods(TestMethodTestDescriptor.java:171)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:134)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.base@17.0.11/java.util.ArrayList.forEach(ArrayList.java:1511)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.base@17.0.11/java.util.ArrayList.forEach(ArrayList.java:1511)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
	at app//org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
	at app//org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
	at app//org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
	at app//org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
	at app//org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:119)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:94)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:89)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:62)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
	at jdk.proxy1/jdk.proxy1.$Proxy2.stop(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)
	at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65)
	at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
	at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
Caused by: org.hibernate.exception.SQLGrammarException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:35.207+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',248,'TRUE','df1911cb2a34986501c67d856639e5e6','.','FALSE','2024-05-06 10:23:35.207+00',1000015005) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.] [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]
	at app//org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:91)
	at app//org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:58)
	at app//org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.lambda$performExecution$2(BatchImpl.java:294)
	at app//org.hibernate.engine.jdbc.mutation.internal.PreparedStatementGroupSingleTable.forEachStatement(PreparedStatementGroupSingleTable.java:59)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.performExecution(BatchImpl.java:264)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.execute(BatchImpl.java:242)
	at app//org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.executeBatch(JdbcCoordinatorImpl.java:188)
	at app//org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:662)
	at app//org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:499)
	at app//org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:363)
	at app//org.hibernate.event.internal.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:61)
	at app//org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:127)
	at app//org.hibernate.internal.SessionImpl.autoFlushIfRequired(SessionImpl.java:1386)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.lambda$new$2(ConcreteSqmSelectQueryPlan.java:136)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.withCacheableSqmInterpretation(ConcreteSqmSelectQueryPlan.java:359)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.performList(ConcreteSqmSelectQueryPlan.java:300)
	at app//org.hibernate.query.sqm.internal.QuerySqmImpl.doList(QuerySqmImpl.java:509)
	at app//org.hibernate.query.spi.AbstractSelectionQuery.list(AbstractSelectionQuery.java:427)
	at app//org.hibernate.query.spi.AbstractSelectionQuery.getSingleResult(AbstractSelectionQuery.java:564)
	at app//org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution.doExecute(JpaQueryExecution.java:223)
	at app//org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:92)
	at app//org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:149)
	at app//org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:137)
	at app//org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:136)
	at app//org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:120)
	at app//org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:164)
	at app//org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:143)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:72)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
	at app//org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:391)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137)
	... 145 more
Caused by: java.sql.BatchUpdateException: Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:35.207+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',248,'TRUE','df1911cb2a34986501c67d856639e5e6','.','FALSE','2024-05-06 10:23:35.207+00',1000015005) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.
	at app//org.postgresql.jdbc.BatchResultHandler.handleError(BatchResultHandler.java:165)
	at app//org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2402)
	at app//org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:574)
	at app//org.postgresql.jdbc.PgStatement.internalExecuteBatch(PgStatement.java:896)
	at app//org.postgresql.jdbc.PgStatement.executeBatch(PgStatement.java:919)
	at app//org.postgresql.jdbc.PgPreparedStatement.executeBatch(PgPreparedStatement.java:1685)
	at app//com.zaxxer.hikari.pool.ProxyStatement.executeBatch(ProxyStatement.java:127)
	at app//com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeBatch(HikariProxyPreparedStatement.java)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.lambda$performExecution$2(BatchImpl.java:279)
	... 177 more
Caused by: org.postgresql.util.PSQLException: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80
	at app//org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2713)
	at app//org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2401)
	... 184 more

Check failure on line 104 in backend/data/src/main/kotlin/io/tolgee/service/contentDelivery/ContentDeliveryConfigService.kt

See this annotation in the file changed.

@github-actions github-actions / Backend Tests

io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest ► creates Content Storage()

Failed test found in:
  ee/backend/tests/build/test-results/test/TEST-io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest.xml
Error:
  org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:35.423+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',249,'TRUE','2c9b76b609937a54aa3825c3a224ca75','.','FALSE','2024-05-06 10:23:35.423+00',1000015006) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
Raw output
org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:35.423+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',249,'TRUE','2c9b76b609937a54aa3825c3a224ca75','.','FALSE','2024-05-06 10:23:35.423+00',1000015006) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.] [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]; SQL [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]
	at app//org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:256)
	at app//org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:229)
	at app//org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:550)
	at app//org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61)
	at app//org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:243)
	at app//org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:135)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.repository.core.support.MethodInvocationValidator.invoke(MethodInvocationValidator.java:94)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:244)
	at app/jdk.proxy3/jdk.proxy3.$Proxy344.isSlugUnique(Unknown Source)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$generateSlug$1.invoke(ContentDeliveryConfigService.kt:104)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$generateSlug$1.invoke(ContentDeliveryConfigService.kt:103)
	at app//io.tolgee.util.SlugGenerator.generate(SlugGenerator.kt:45)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService.generateSlug(ContentDeliveryConfigService.kt:103)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
	at app//org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:699)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$$SpringCGLIB$$0.generateSlug(<generated>)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveContentDeliveryConfigs(TestDataService.kt:233)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveAllProjectDependants(TestDataService.kt:211)
	at app//io.tolgee.development.testDataBuilder.TestDataService.access$saveAllProjectDependants(TestDataService.kt:48)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveAllProjects$1$1.invoke(TestDataService.kt:381)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveAllProjects$1$1.invoke(TestDataService.kt:379)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$lambda$0(transactionUtil.kt:22)
	at app//org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:21)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$default(transactionUtil.kt:11)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:30)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveAllProjects(TestDataService.kt:379)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveProjectData(TestDataService.kt:165)
	at app//io.tolgee.development.testDataBuilder.TestDataService.access$saveProjectData(TestDataService.kt:48)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveTestData$3.invoke(TestDataService.kt:112)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveTestData$3.invoke(TestDataService.kt:111)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$lambda$0(transactionUtil.kt:22)
	at app//org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:21)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$default(transactionUtil.kt:11)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:30)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveTestData(TestDataService.kt:111)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
	at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
	at app//org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:391)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751)
	at app//org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:703)
	at app//io.tolgee.development.testDataBuilder.TestDataService$$SpringCGLIB$$0.saveTestData(<generated>)
	at app//io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest.beforeEach(ContentStorageControllerTest.kt:52)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
	at app//org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.interceptLifecycleMethod(TimeoutExtension.java:128)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.interceptBeforeEachMethod(TimeoutExtension.java:78)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86)
	at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeMethodInExtensionContext(ClassBasedTestDescriptor.java:520)
	at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$synthesizeBeforeEachMethodAdapter$23(ClassBasedTestDescriptor.java:505)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeEachMethods$3(TestMethodTestDescriptor.java:174)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeMethodsOrCallbacksUntilExceptionOccurs$6(TestMethodTestDescriptor.java:202)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeMethodsOrCallbacksUntilExceptionOccurs(TestMethodTestDescriptor.java:202)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeEachMethods(TestMethodTestDescriptor.java:171)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:134)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.base@17.0.11/java.util.ArrayList.forEach(ArrayList.java:1511)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.base@17.0.11/java.util.ArrayList.forEach(ArrayList.java:1511)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
	at app//org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
	at app//org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
	at app//org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
	at app//org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
	at app//org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:119)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:94)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:89)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:62)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
	at jdk.proxy1/jdk.proxy1.$Proxy2.stop(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)
	at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65)
	at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
	at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
Caused by: org.hibernate.exception.SQLGrammarException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:35.423+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',249,'TRUE','2c9b76b609937a54aa3825c3a224ca75','.','FALSE','2024-05-06 10:23:35.423+00',1000015006) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.] [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]
	at app//org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:91)
	at app//org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:58)
	at app//org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.lambda$performExecution$2(BatchImpl.java:294)
	at app//org.hibernate.engine.jdbc.mutation.internal.PreparedStatementGroupSingleTable.forEachStatement(PreparedStatementGroupSingleTable.java:59)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.performExecution(BatchImpl.java:264)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.execute(BatchImpl.java:242)
	at app//org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.executeBatch(JdbcCoordinatorImpl.java:188)
	at app//org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:662)
	at app//org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:499)
	at app//org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:363)
	at app//org.hibernate.event.internal.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:61)
	at app//org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:127)
	at app//org.hibernate.internal.SessionImpl.autoFlushIfRequired(SessionImpl.java:1386)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.lambda$new$2(ConcreteSqmSelectQueryPlan.java:136)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.withCacheableSqmInterpretation(ConcreteSqmSelectQueryPlan.java:359)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.performList(ConcreteSqmSelectQueryPlan.java:300)
	at app//org.hibernate.query.sqm.internal.QuerySqmImpl.doList(QuerySqmImpl.java:509)
	at app//org.hibernate.query.spi.AbstractSelectionQuery.list(AbstractSelectionQuery.java:427)
	at app//org.hibernate.query.spi.AbstractSelectionQuery.getSingleResult(AbstractSelectionQuery.java:564)
	at app//org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution.doExecute(JpaQueryExecution.java:223)
	at app//org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:92)
	at app//org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:149)
	at app//org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:137)
	at app//org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:136)
	at app//org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:120)
	at app//org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:164)
	at app//org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:143)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:72)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
	at app//org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:391)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137)
	... 145 more
Caused by: java.sql.BatchUpdateException: Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:35.423+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',249,'TRUE','2c9b76b609937a54aa3825c3a224ca75','.','FALSE','2024-05-06 10:23:35.423+00',1000015006) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.
	at app//org.postgresql.jdbc.BatchResultHandler.handleError(BatchResultHandler.java:165)
	at app//org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2402)
	at app//org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:574)
	at app//org.postgresql.jdbc.PgStatement.internalExecuteBatch(PgStatement.java:896)
	at app//org.postgresql.jdbc.PgStatement.executeBatch(PgStatement.java:919)
	at app//org.postgresql.jdbc.PgPreparedStatement.executeBatch(PgPreparedStatement.java:1685)
	at app//com.zaxxer.hikari.pool.ProxyStatement.executeBatch(ProxyStatement.java:127)
	at app//com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeBatch(HikariProxyPreparedStatement.java)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.lambda$performExecution$2(BatchImpl.java:279)
	... 177 more
Caused by: org.postgresql.util.PSQLException: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80
	at app//org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2713)
	at app//org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2401)
	... 184 more

Check failure on line 104 in backend/data/src/main/kotlin/io/tolgee/service/contentDelivery/ContentDeliveryConfigService.kt

See this annotation in the file changed.

@github-actions github-actions / Backend Tests

io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest ► updates Content Storage to the same type()

Failed test found in:
  ee/backend/tests/build/test-results/test/TEST-io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest.xml
Error:
  org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:35.635+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',250,'TRUE','2d7e503da0880b19816e60c996560e29','.','FALSE','2024-05-06 10:23:35.635+00',1000015007) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
Raw output
org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:35.635+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',250,'TRUE','2d7e503da0880b19816e60c996560e29','.','FALSE','2024-05-06 10:23:35.635+00',1000015007) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.] [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]; SQL [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]
	at app//org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:256)
	at app//org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:229)
	at app//org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:550)
	at app//org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61)
	at app//org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:243)
	at app//org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:135)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.repository.core.support.MethodInvocationValidator.invoke(MethodInvocationValidator.java:94)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:244)
	at app/jdk.proxy3/jdk.proxy3.$Proxy344.isSlugUnique(Unknown Source)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$generateSlug$1.invoke(ContentDeliveryConfigService.kt:104)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$generateSlug$1.invoke(ContentDeliveryConfigService.kt:103)
	at app//io.tolgee.util.SlugGenerator.generate(SlugGenerator.kt:45)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService.generateSlug(ContentDeliveryConfigService.kt:103)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
	at app//org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:699)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$$SpringCGLIB$$0.generateSlug(<generated>)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveContentDeliveryConfigs(TestDataService.kt:233)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveAllProjectDependants(TestDataService.kt:211)
	at app//io.tolgee.development.testDataBuilder.TestDataService.access$saveAllProjectDependants(TestDataService.kt:48)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveAllProjects$1$1.invoke(TestDataService.kt:381)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveAllProjects$1$1.invoke(TestDataService.kt:379)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$lambda$0(transactionUtil.kt:22)
	at app//org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:21)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$default(transactionUtil.kt:11)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:30)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveAllProjects(TestDataService.kt:379)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveProjectData(TestDataService.kt:165)
	at app//io.tolgee.development.testDataBuilder.TestDataService.access$saveProjectData(TestDataService.kt:48)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveTestData$3.invoke(TestDataService.kt:112)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveTestData$3.invoke(TestDataService.kt:111)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$lambda$0(transactionUtil.kt:22)
	at app//org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:21)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$default(transactionUtil.kt:11)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:30)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveTestData(TestDataService.kt:111)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
	at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
	at app//org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:391)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751)
	at app//org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:703)
	at app//io.tolgee.development.testDataBuilder.TestDataService$$SpringCGLIB$$0.saveTestData(<generated>)
	at app//io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest.beforeEach(ContentStorageControllerTest.kt:52)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
	at app//org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.interceptLifecycleMethod(TimeoutExtension.java:128)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.interceptBeforeEachMethod(TimeoutExtension.java:78)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86)
	at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeMethodInExtensionContext(ClassBasedTestDescriptor.java:520)
	at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$synthesizeBeforeEachMethodAdapter$23(ClassBasedTestDescriptor.java:505)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeEachMethods$3(TestMethodTestDescriptor.java:174)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeMethodsOrCallbacksUntilExceptionOccurs$6(TestMethodTestDescriptor.java:202)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeMethodsOrCallbacksUntilExceptionOccurs(TestMethodTestDescriptor.java:202)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeEachMethods(TestMethodTestDescriptor.java:171)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:134)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.base@17.0.11/java.util.ArrayList.forEach(ArrayList.java:1511)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.base@17.0.11/java.util.ArrayList.forEach(ArrayList.java:1511)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
	at app//org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
	at app//org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
	at app//org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
	at app//org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
	at app//org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:119)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:94)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:89)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:62)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
	at jdk.proxy1/jdk.proxy1.$Proxy2.stop(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)
	at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65)
	at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
	at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
Caused by: org.hibernate.exception.SQLGrammarException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:35.635+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',250,'TRUE','2d7e503da0880b19816e60c996560e29','.','FALSE','2024-05-06 10:23:35.635+00',1000015007) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.] [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]
	at app//org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:91)
	at app//org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:58)
	at app//org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.lambda$performExecution$2(BatchImpl.java:294)
	at app//org.hibernate.engine.jdbc.mutation.internal.PreparedStatementGroupSingleTable.forEachStatement(PreparedStatementGroupSingleTable.java:59)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.performExecution(BatchImpl.java:264)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.execute(BatchImpl.java:242)
	at app//org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.executeBatch(JdbcCoordinatorImpl.java:188)
	at app//org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:662)
	at app//org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:499)
	at app//org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:363)
	at app//org.hibernate.event.internal.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:61)
	at app//org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:127)
	at app//org.hibernate.internal.SessionImpl.autoFlushIfRequired(SessionImpl.java:1386)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.lambda$new$2(ConcreteSqmSelectQueryPlan.java:136)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.withCacheableSqmInterpretation(ConcreteSqmSelectQueryPlan.java:359)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.performList(ConcreteSqmSelectQueryPlan.java:300)
	at app//org.hibernate.query.sqm.internal.QuerySqmImpl.doList(QuerySqmImpl.java:509)
	at app//org.hibernate.query.spi.AbstractSelectionQuery.list(AbstractSelectionQuery.java:427)
	at app//org.hibernate.query.spi.AbstractSelectionQuery.getSingleResult(AbstractSelectionQuery.java:564)
	at app//org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution.doExecute(JpaQueryExecution.java:223)
	at app//org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:92)
	at app//org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:149)
	at app//org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:137)
	at app//org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:136)
	at app//org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:120)
	at app//org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:164)
	at app//org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:143)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:72)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
	at app//org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:391)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137)
	... 145 more
Caused by: java.sql.BatchUpdateException: Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:35.635+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',250,'TRUE','2d7e503da0880b19816e60c996560e29','.','FALSE','2024-05-06 10:23:35.635+00',1000015007) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.
	at app//org.postgresql.jdbc.BatchResultHandler.handleError(BatchResultHandler.java:165)
	at app//org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2402)
	at app//org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:574)
	at app//org.postgresql.jdbc.PgStatement.internalExecuteBatch(PgStatement.java:896)
	at app//org.postgresql.jdbc.PgStatement.executeBatch(PgStatement.java:919)
	at app//org.postgresql.jdbc.PgPreparedStatement.executeBatch(PgPreparedStatement.java:1685)
	at app//com.zaxxer.hikari.pool.ProxyStatement.executeBatch(ProxyStatement.java:127)
	at app//com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeBatch(HikariProxyPreparedStatement.java)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.lambda$performExecution$2(BatchImpl.java:279)
	... 177 more
Caused by: org.postgresql.util.PSQLException: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80
	at app//org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2713)
	at app//org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2401)
	... 184 more

Check failure on line 104 in backend/data/src/main/kotlin/io/tolgee/service/contentDelivery/ContentDeliveryConfigService.kt

See this annotation in the file changed.

@github-actions github-actions / Backend Tests

io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest ► updates Content Storage()

Failed test found in:
  ee/backend/tests/build/test-results/test/TEST-io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest.xml
Error:
  org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:35.871+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',251,'TRUE','94301ccb4a1996449b18bd18dbbfc8d1','.','FALSE','2024-05-06 10:23:35.871+00',1000015008) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
Raw output
org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:35.871+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',251,'TRUE','94301ccb4a1996449b18bd18dbbfc8d1','.','FALSE','2024-05-06 10:23:35.871+00',1000015008) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.] [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]; SQL [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]
	at app//org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:256)
	at app//org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:229)
	at app//org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:550)
	at app//org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61)
	at app//org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:243)
	at app//org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:135)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.repository.core.support.MethodInvocationValidator.invoke(MethodInvocationValidator.java:94)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:244)
	at app/jdk.proxy3/jdk.proxy3.$Proxy344.isSlugUnique(Unknown Source)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$generateSlug$1.invoke(ContentDeliveryConfigService.kt:104)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$generateSlug$1.invoke(ContentDeliveryConfigService.kt:103)
	at app//io.tolgee.util.SlugGenerator.generate(SlugGenerator.kt:45)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService.generateSlug(ContentDeliveryConfigService.kt:103)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
	at app//org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:699)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$$SpringCGLIB$$0.generateSlug(<generated>)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveContentDeliveryConfigs(TestDataService.kt:233)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveAllProjectDependants(TestDataService.kt:211)
	at app//io.tolgee.development.testDataBuilder.TestDataService.access$saveAllProjectDependants(TestDataService.kt:48)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveAllProjects$1$1.invoke(TestDataService.kt:381)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveAllProjects$1$1.invoke(TestDataService.kt:379)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$lambda$0(transactionUtil.kt:22)
	at app//org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:21)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$default(transactionUtil.kt:11)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:30)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveAllProjects(TestDataService.kt:379)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveProjectData(TestDataService.kt:165)
	at app//io.tolgee.development.testDataBuilder.TestDataService.access$saveProjectData(TestDataService.kt:48)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveTestData$3.invoke(TestDataService.kt:112)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveTestData$3.invoke(TestDataService.kt:111)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$lambda$0(transactionUtil.kt:22)
	at app//org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:21)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$default(transactionUtil.kt:11)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:30)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveTestData(TestDataService.kt:111)
	at jdk.internal.reflect.GeneratedMethodAccessor487.invoke(Unknown Source)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
	at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
	at app//org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:391)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751)
	at app//org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:703)
	at app//io.tolgee.development.testDataBuilder.TestDataService$$SpringCGLIB$$0.saveTestData(<generated>)
	at app//io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest.beforeEach(ContentStorageControllerTest.kt:52)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
	at app//org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.interceptLifecycleMethod(TimeoutExtension.java:128)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.interceptBeforeEachMethod(TimeoutExtension.java:78)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86)
	at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeMethodInExtensionContext(ClassBasedTestDescriptor.java:520)
	at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$synthesizeBeforeEachMethodAdapter$23(ClassBasedTestDescriptor.java:505)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeEachMethods$3(TestMethodTestDescriptor.java:174)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeMethodsOrCallbacksUntilExceptionOccurs$6(TestMethodTestDescriptor.java:202)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeMethodsOrCallbacksUntilExceptionOccurs(TestMethodTestDescriptor.java:202)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeEachMethods(TestMethodTestDescriptor.java:171)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:134)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.base@17.0.11/java.util.ArrayList.forEach(ArrayList.java:1511)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.base@17.0.11/java.util.ArrayList.forEach(ArrayList.java:1511)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
	at app//org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
	at app//org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
	at app//org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
	at app//org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
	at app//org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:119)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:94)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:89)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:62)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
	at jdk.proxy1/jdk.proxy1.$Proxy2.stop(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)
	at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65)
	at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
	at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
Caused by: org.hibernate.exception.SQLGrammarException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:35.871+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',251,'TRUE','94301ccb4a1996449b18bd18dbbfc8d1','.','FALSE','2024-05-06 10:23:35.871+00',1000015008) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.] [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]
	at app//org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:91)
	at app//org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:58)
	at app//org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.lambda$performExecution$2(BatchImpl.java:294)
	at app//org.hibernate.engine.jdbc.mutation.internal.PreparedStatementGroupSingleTable.forEachStatement(PreparedStatementGroupSingleTable.java:59)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.performExecution(BatchImpl.java:264)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.execute(BatchImpl.java:242)
	at app//org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.executeBatch(JdbcCoordinatorImpl.java:188)
	at app//org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:662)
	at app//org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:499)
	at app//org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:363)
	at app//org.hibernate.event.internal.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:61)
	at app//org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:127)
	at app//org.hibernate.internal.SessionImpl.autoFlushIfRequired(SessionImpl.java:1386)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.lambda$new$2(ConcreteSqmSelectQueryPlan.java:136)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.withCacheableSqmInterpretation(ConcreteSqmSelectQueryPlan.java:359)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.performList(ConcreteSqmSelectQueryPlan.java:300)
	at app//org.hibernate.query.sqm.internal.QuerySqmImpl.doList(QuerySqmImpl.java:509)
	at app//org.hibernate.query.spi.AbstractSelectionQuery.list(AbstractSelectionQuery.java:427)
	at app//org.hibernate.query.spi.AbstractSelectionQuery.getSingleResult(AbstractSelectionQuery.java:564)
	at app//org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution.doExecute(JpaQueryExecution.java:223)
	at app//org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:92)
	at app//org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:149)
	at app//org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:137)
	at app//org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:136)
	at app//org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:120)
	at app//org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:164)
	at app//org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:143)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:72)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
	at app//org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:391)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137)
	... 144 more
Caused by: java.sql.BatchUpdateException: Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:35.871+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',251,'TRUE','94301ccb4a1996449b18bd18dbbfc8d1','.','FALSE','2024-05-06 10:23:35.871+00',1000015008) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.
	at app//org.postgresql.jdbc.BatchResultHandler.handleError(BatchResultHandler.java:165)
	at app//org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2402)
	at app//org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:574)
	at app//org.postgresql.jdbc.PgStatement.internalExecuteBatch(PgStatement.java:896)
	at app//org.postgresql.jdbc.PgStatement.executeBatch(PgStatement.java:919)
	at app//org.postgresql.jdbc.PgPreparedStatement.executeBatch(PgPreparedStatement.java:1685)
	at app//com.zaxxer.hikari.pool.ProxyStatement.executeBatch(ProxyStatement.java:127)
	at app//com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeBatch(HikariProxyPreparedStatement.java)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.lambda$performExecution$2(BatchImpl.java:279)
	... 176 more
Caused by: org.postgresql.util.PSQLException: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80
	at app//org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2713)
	at app//org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2401)
	... 183 more

Check failure on line 104 in backend/data/src/main/kotlin/io/tolgee/service/contentDelivery/ContentDeliveryConfigService.kt

See this annotation in the file changed.

@github-actions github-actions / Backend Tests

io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest ► tests s3 storage()

Failed test found in:
  ee/backend/tests/build/test-results/test/TEST-io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest.xml
Error:
  org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:36.077+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',252,'TRUE','54a03e3c27b2bcd476042965939f9d4f','.','FALSE','2024-05-06 10:23:36.077+00',1000015009) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
Raw output
org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:36.077+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',252,'TRUE','54a03e3c27b2bcd476042965939f9d4f','.','FALSE','2024-05-06 10:23:36.077+00',1000015009) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.] [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]; SQL [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]
	at app//org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:256)
	at app//org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:229)
	at app//org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:550)
	at app//org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61)
	at app//org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:243)
	at app//org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:135)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.repository.core.support.MethodInvocationValidator.invoke(MethodInvocationValidator.java:94)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:244)
	at app/jdk.proxy3/jdk.proxy3.$Proxy344.isSlugUnique(Unknown Source)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$generateSlug$1.invoke(ContentDeliveryConfigService.kt:104)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$generateSlug$1.invoke(ContentDeliveryConfigService.kt:103)
	at app//io.tolgee.util.SlugGenerator.generate(SlugGenerator.kt:45)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService.generateSlug(ContentDeliveryConfigService.kt:103)
	at jdk.internal.reflect.GeneratedMethodAccessor517.invoke(Unknown Source)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
	at app//org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:699)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$$SpringCGLIB$$0.generateSlug(<generated>)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveContentDeliveryConfigs(TestDataService.kt:233)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveAllProjectDependants(TestDataService.kt:211)
	at app//io.tolgee.development.testDataBuilder.TestDataService.access$saveAllProjectDependants(TestDataService.kt:48)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveAllProjects$1$1.invoke(TestDataService.kt:381)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveAllProjects$1$1.invoke(TestDataService.kt:379)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$lambda$0(transactionUtil.kt:22)
	at app//org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:21)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$default(transactionUtil.kt:11)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:30)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveAllProjects(TestDataService.kt:379)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveProjectData(TestDataService.kt:165)
	at app//io.tolgee.development.testDataBuilder.TestDataService.access$saveProjectData(TestDataService.kt:48)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveTestData$3.invoke(TestDataService.kt:112)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveTestData$3.invoke(TestDataService.kt:111)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$lambda$0(transactionUtil.kt:22)
	at app//org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:21)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$default(transactionUtil.kt:11)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:30)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveTestData(TestDataService.kt:111)
	at jdk.internal.reflect.GeneratedMethodAccessor487.invoke(Unknown Source)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
	at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
	at app//org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:391)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751)
	at app//org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:703)
	at app//io.tolgee.development.testDataBuilder.TestDataService$$SpringCGLIB$$0.saveTestData(<generated>)
	at app//io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest.beforeEach(ContentStorageControllerTest.kt:52)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
	at app//org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.interceptLifecycleMethod(TimeoutExtension.java:128)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.interceptBeforeEachMethod(TimeoutExtension.java:78)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86)
	at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeMethodInExtensionContext(ClassBasedTestDescriptor.java:520)
	at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$synthesizeBeforeEachMethodAdapter$23(ClassBasedTestDescriptor.java:505)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeEachMethods$3(TestMethodTestDescriptor.java:174)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeMethodsOrCallbacksUntilExceptionOccurs$6(TestMethodTestDescriptor.java:202)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeMethodsOrCallbacksUntilExceptionOccurs(TestMethodTestDescriptor.java:202)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeEachMethods(TestMethodTestDescriptor.java:171)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:134)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.base@17.0.11/java.util.ArrayList.forEach(ArrayList.java:1511)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.base@17.0.11/java.util.ArrayList.forEach(ArrayList.java:1511)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
	at app//org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
	at app//org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
	at app//org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
	at app//org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
	at app//org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:119)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:94)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:89)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:62)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
	at jdk.proxy1/jdk.proxy1.$Proxy2.stop(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)
	at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65)
	at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
	at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
Caused by: org.hibernate.exception.SQLGrammarException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:36.077+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',252,'TRUE','54a03e3c27b2bcd476042965939f9d4f','.','FALSE','2024-05-06 10:23:36.077+00',1000015009) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.] [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]
	at app//org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:91)
	at app//org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:58)
	at app//org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.lambda$performExecution$2(BatchImpl.java:294)
	at app//org.hibernate.engine.jdbc.mutation.internal.PreparedStatementGroupSingleTable.forEachStatement(PreparedStatementGroupSingleTable.java:59)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.performExecution(BatchImpl.java:264)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.execute(BatchImpl.java:242)
	at app//org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.executeBatch(JdbcCoordinatorImpl.java:188)
	at app//org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:662)
	at app//org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:499)
	at app//org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:363)
	at app//org.hibernate.event.internal.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:61)
	at app//org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:127)
	at app//org.hibernate.internal.SessionImpl.autoFlushIfRequired(SessionImpl.java:1386)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.lambda$new$2(ConcreteSqmSelectQueryPlan.java:136)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.withCacheableSqmInterpretation(ConcreteSqmSelectQueryPlan.java:359)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.performList(ConcreteSqmSelectQueryPlan.java:300)
	at app//org.hibernate.query.sqm.internal.QuerySqmImpl.doList(QuerySqmImpl.java:509)
	at app//org.hibernate.query.spi.AbstractSelectionQuery.list(AbstractSelectionQuery.java:427)
	at app//org.hibernate.query.spi.AbstractSelectionQuery.getSingleResult(AbstractSelectionQuery.java:564)
	at app//org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution.doExecute(JpaQueryExecution.java:223)
	at app//org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:92)
	at app//org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:149)
	at app//org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:137)
	at app//org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:136)
	at app//org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:120)
	at app//org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:164)
	at app//org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:143)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:72)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
	at app//org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:391)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137)
	... 143 more
Caused by: java.sql.BatchUpdateException: Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:36.077+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',252,'TRUE','54a03e3c27b2bcd476042965939f9d4f','.','FALSE','2024-05-06 10:23:36.077+00',1000015009) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.
	at app//org.postgresql.jdbc.BatchResultHandler.handleError(BatchResultHandler.java:165)
	at app//org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2402)
	at app//org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:574)
	at app//org.postgresql.jdbc.PgStatement.internalExecuteBatch(PgStatement.java:896)
	at app//org.postgresql.jdbc.PgStatement.executeBatch(PgStatement.java:919)
	at app//org.postgresql.jdbc.PgPreparedStatement.executeBatch(PgPreparedStatement.java:1685)
	at app//com.zaxxer.hikari.pool.ProxyStatement.executeBatch(ProxyStatement.java:127)
	at app//com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeBatch(HikariProxyPreparedStatement.java)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.lambda$performExecution$2(BatchImpl.java:279)
	... 175 more
Caused by: org.postgresql.util.PSQLException: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80
	at app//org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2713)
	at app//org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2401)
	... 182 more

Check failure on line 104 in backend/data/src/main/kotlin/io/tolgee/service/contentDelivery/ContentDeliveryConfigService.kt

See this annotation in the file changed.

@github-actions github-actions / Backend Tests

io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest ► tests new configuration for existing azure storage()

Failed test found in:
  ee/backend/tests/build/test-results/test/TEST-io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest.xml
Error:
  org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:36.299+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',253,'TRUE','66041533d04f78a3a5af09e2824f35e0','.','FALSE','2024-05-06 10:23:36.299+00',1000015010) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
Raw output
org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:36.299+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',253,'TRUE','66041533d04f78a3a5af09e2824f35e0','.','FALSE','2024-05-06 10:23:36.299+00',1000015010) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.] [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]; SQL [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]
	at app//org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:256)
	at app//org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:229)
	at app//org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:550)
	at app//org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61)
	at app//org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:243)
	at app//org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:135)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.repository.core.support.MethodInvocationValidator.invoke(MethodInvocationValidator.java:94)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:244)
	at app/jdk.proxy3/jdk.proxy3.$Proxy344.isSlugUnique(Unknown Source)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$generateSlug$1.invoke(ContentDeliveryConfigService.kt:104)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$generateSlug$1.invoke(ContentDeliveryConfigService.kt:103)
	at app//io.tolgee.util.SlugGenerator.generate(SlugGenerator.kt:45)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService.generateSlug(ContentDeliveryConfigService.kt:103)
	at jdk.internal.reflect.GeneratedMethodAccessor517.invoke(Unknown Source)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
	at app//org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:699)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$$SpringCGLIB$$0.generateSlug(<generated>)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveContentDeliveryConfigs(TestDataService.kt:233)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveAllProjectDependants(TestDataService.kt:211)
	at app//io.tolgee.development.testDataBuilder.TestDataService.access$saveAllProjectDependants(TestDataService.kt:48)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveAllProjects$1$1.invoke(TestDataService.kt:381)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveAllProjects$1$1.invoke(TestDataService.kt:379)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$lambda$0(transactionUtil.kt:22)
	at app//org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:21)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$default(transactionUtil.kt:11)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:30)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveAllProjects(TestDataService.kt:379)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveProjectData(TestDataService.kt:165)
	at app//io.tolgee.development.testDataBuilder.TestDataService.access$saveProjectData(TestDataService.kt:48)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveTestData$3.invoke(TestDataService.kt:112)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveTestData$3.invoke(TestDataService.kt:111)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$lambda$0(transactionUtil.kt:22)
	at app//org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:21)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$default(transactionUtil.kt:11)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:30)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveTestData(TestDataService.kt:111)
	at jdk.internal.reflect.GeneratedMethodAccessor487.invoke(Unknown Source)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
	at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
	at app//org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:391)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751)
	at app//org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:703)
	at app//io.tolgee.development.testDataBuilder.TestDataService$$SpringCGLIB$$0.saveTestData(<generated>)
	at app//io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest.beforeEach(ContentStorageControllerTest.kt:52)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
	at app//org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.interceptLifecycleMethod(TimeoutExtension.java:128)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.interceptBeforeEachMethod(TimeoutExtension.java:78)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86)
	at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeMethodInExtensionContext(ClassBasedTestDescriptor.java:520)
	at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$synthesizeBeforeEachMethodAdapter$23(ClassBasedTestDescriptor.java:505)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeEachMethods$3(TestMethodTestDescriptor.java:174)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeMethodsOrCallbacksUntilExceptionOccurs$6(TestMethodTestDescriptor.java:202)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeMethodsOrCallbacksUntilExceptionOccurs(TestMethodTestDescriptor.java:202)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeEachMethods(TestMethodTestDescriptor.java:171)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:134)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.base@17.0.11/java.util.ArrayList.forEach(ArrayList.java:1511)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.base@17.0.11/java.util.ArrayList.forEach(ArrayList.java:1511)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
	at app//org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
	at app//org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
	at app//org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
	at app//org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
	at app//org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:119)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:94)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:89)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:62)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
	at jdk.proxy1/jdk.proxy1.$Proxy2.stop(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)
	at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65)
	at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
	at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
Caused by: org.hibernate.exception.SQLGrammarException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:36.299+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',253,'TRUE','66041533d04f78a3a5af09e2824f35e0','.','FALSE','2024-05-06 10:23:36.299+00',1000015010) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.] [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]
	at app//org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:91)
	at app//org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:58)
	at app//org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.lambda$performExecution$2(BatchImpl.java:294)
	at app//org.hibernate.engine.jdbc.mutation.internal.PreparedStatementGroupSingleTable.forEachStatement(PreparedStatementGroupSingleTable.java:59)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.performExecution(BatchImpl.java:264)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.execute(BatchImpl.java:242)
	at app//org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.executeBatch(JdbcCoordinatorImpl.java:188)
	at app//org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:662)
	at app//org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:499)
	at app//org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:363)
	at app//org.hibernate.event.internal.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:61)
	at app//org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:127)
	at app//org.hibernate.internal.SessionImpl.autoFlushIfRequired(SessionImpl.java:1386)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.lambda$new$2(ConcreteSqmSelectQueryPlan.java:136)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.withCacheableSqmInterpretation(ConcreteSqmSelectQueryPlan.java:359)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.performList(ConcreteSqmSelectQueryPlan.java:300)
	at app//org.hibernate.query.sqm.internal.QuerySqmImpl.doList(QuerySqmImpl.java:509)
	at app//org.hibernate.query.spi.AbstractSelectionQuery.list(AbstractSelectionQuery.java:427)
	at app//org.hibernate.query.spi.AbstractSelectionQuery.getSingleResult(AbstractSelectionQuery.java:564)
	at app//org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution.doExecute(JpaQueryExecution.java:223)
	at app//org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:92)
	at app//org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:149)
	at app//org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:137)
	at app//org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:136)
	at app//org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:120)
	at app//org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:164)
	at app//org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:143)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:72)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
	at app//org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:391)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137)
	... 143 more
Caused by: java.sql.BatchUpdateException: Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:36.299+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',253,'TRUE','66041533d04f78a3a5af09e2824f35e0','.','FALSE','2024-05-06 10:23:36.299+00',1000015010) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.
	at app//org.postgresql.jdbc.BatchResultHandler.handleError(BatchResultHandler.java:165)
	at app//org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2402)
	at app//org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:574)
	at app//org.postgresql.jdbc.PgStatement.internalExecuteBatch(PgStatement.java:896)
	at app//org.postgresql.jdbc.PgStatement.executeBatch(PgStatement.java:919)
	at app//org.postgresql.jdbc.PgPreparedStatement.executeBatch(PgPreparedStatement.java:1685)
	at app//com.zaxxer.hikari.pool.ProxyStatement.executeBatch(ProxyStatement.java:127)
	at app//com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeBatch(HikariProxyPreparedStatement.java)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.lambda$performExecution$2(BatchImpl.java:279)
	... 175 more
Caused by: org.postgresql.util.PSQLException: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80
	at app//org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2713)
	at app//org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2401)
	... 182 more

Check failure on line 104 in backend/data/src/main/kotlin/io/tolgee/service/contentDelivery/ContentDeliveryConfigService.kt

See this annotation in the file changed.

@github-actions github-actions / Backend Tests

io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest ► returns single storage()

Failed test found in:
  ee/backend/tests/build/test-results/test/TEST-io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest.xml
Error:
  org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:36.499+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',254,'TRUE','7088698e3ac82fbc775f4aec7af6f95a','.','FALSE','2024-05-06 10:23:36.499+00',1000015011) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
Raw output
org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:36.499+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',254,'TRUE','7088698e3ac82fbc775f4aec7af6f95a','.','FALSE','2024-05-06 10:23:36.499+00',1000015011) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.] [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]; SQL [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]
	at app//org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:256)
	at app//org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:229)
	at app//org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:550)
	at app//org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61)
	at app//org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:243)
	at app//org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:135)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.repository.core.support.MethodInvocationValidator.invoke(MethodInvocationValidator.java:94)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:244)
	at app/jdk.proxy3/jdk.proxy3.$Proxy344.isSlugUnique(Unknown Source)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$generateSlug$1.invoke(ContentDeliveryConfigService.kt:104)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$generateSlug$1.invoke(ContentDeliveryConfigService.kt:103)
	at app//io.tolgee.util.SlugGenerator.generate(SlugGenerator.kt:45)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService.generateSlug(ContentDeliveryConfigService.kt:103)
	at jdk.internal.reflect.GeneratedMethodAccessor517.invoke(Unknown Source)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
	at app//org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:699)
	at app//io.tolgee.service.contentDelivery.ContentDeliveryConfigService$$SpringCGLIB$$0.generateSlug(<generated>)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveContentDeliveryConfigs(TestDataService.kt:233)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveAllProjectDependants(TestDataService.kt:211)
	at app//io.tolgee.development.testDataBuilder.TestDataService.access$saveAllProjectDependants(TestDataService.kt:48)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveAllProjects$1$1.invoke(TestDataService.kt:381)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveAllProjects$1$1.invoke(TestDataService.kt:379)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$lambda$0(transactionUtil.kt:22)
	at app//org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:21)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$default(transactionUtil.kt:11)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:30)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveAllProjects(TestDataService.kt:379)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveProjectData(TestDataService.kt:165)
	at app//io.tolgee.development.testDataBuilder.TestDataService.access$saveProjectData(TestDataService.kt:48)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveTestData$3.invoke(TestDataService.kt:112)
	at app//io.tolgee.development.testDataBuilder.TestDataService$saveTestData$3.invoke(TestDataService.kt:111)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$lambda$0(transactionUtil.kt:22)
	at app//org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:21)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction$default(transactionUtil.kt:11)
	at app//io.tolgee.util.TransactionUtilKt.executeInNewTransaction(transactionUtil.kt:30)
	at app//io.tolgee.development.testDataBuilder.TestDataService.saveTestData(TestDataService.kt:111)
	at jdk.internal.reflect.GeneratedMethodAccessor487.invoke(Unknown Source)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
	at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
	at app//org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:391)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751)
	at app//org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:703)
	at app//io.tolgee.development.testDataBuilder.TestDataService$$SpringCGLIB$$0.saveTestData(<generated>)
	at app//io.tolgee.ee.api.v2.controllers.ContentStorageControllerTest.beforeEach(ContentStorageControllerTest.kt:52)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at app//org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
	at app//org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.interceptLifecycleMethod(TimeoutExtension.java:128)
	at app//org.junit.jupiter.engine.extension.TimeoutExtension.interceptBeforeEachMethod(TimeoutExtension.java:78)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
	at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92)
	at app//org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86)
	at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeMethodInExtensionContext(ClassBasedTestDescriptor.java:520)
	at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$synthesizeBeforeEachMethodAdapter$23(ClassBasedTestDescriptor.java:505)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeEachMethods$3(TestMethodTestDescriptor.java:174)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeMethodsOrCallbacksUntilExceptionOccurs$6(TestMethodTestDescriptor.java:202)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeMethodsOrCallbacksUntilExceptionOccurs(TestMethodTestDescriptor.java:202)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeEachMethods(TestMethodTestDescriptor.java:171)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:134)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.base@17.0.11/java.util.ArrayList.forEach(ArrayList.java:1511)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.base@17.0.11/java.util.ArrayList.forEach(ArrayList.java:1511)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
	at app//org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
	at app//org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
	at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
	at app//org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
	at app//org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
	at app//org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:119)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:94)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:89)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:62)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base@17.0.11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base@17.0.11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base@17.0.11/java.lang.reflect.Method.invoke(Method.java:568)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
	at jdk.proxy1/jdk.proxy1.$Proxy2.stop(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)
	at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65)
	at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
	at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
Caused by: org.hibernate.exception.SQLGrammarException: could not execute batch [Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:36.499+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',254,'TRUE','7088698e3ac82fbc775f4aec7af6f95a','.','FALSE','2024-05-06 10:23:36.499+00',1000015011) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.] [insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)]
	at app//org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:91)
	at app//org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:58)
	at app//org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.lambda$performExecution$2(BatchImpl.java:294)
	at app//org.hibernate.engine.jdbc.mutation.internal.PreparedStatementGroupSingleTable.forEachStatement(PreparedStatementGroupSingleTable.java:59)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.performExecution(BatchImpl.java:264)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.execute(BatchImpl.java:242)
	at app//org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.executeBatch(JdbcCoordinatorImpl.java:188)
	at app//org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:662)
	at app//org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:499)
	at app//org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:363)
	at app//org.hibernate.event.internal.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:61)
	at app//org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:127)
	at app//org.hibernate.internal.SessionImpl.autoFlushIfRequired(SessionImpl.java:1386)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.lambda$new$2(ConcreteSqmSelectQueryPlan.java:136)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.withCacheableSqmInterpretation(ConcreteSqmSelectQueryPlan.java:359)
	at app//org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.performList(ConcreteSqmSelectQueryPlan.java:300)
	at app//org.hibernate.query.sqm.internal.QuerySqmImpl.doList(QuerySqmImpl.java:509)
	at app//org.hibernate.query.spi.AbstractSelectionQuery.list(AbstractSelectionQuery.java:427)
	at app//org.hibernate.query.spi.AbstractSelectionQuery.getSingleResult(AbstractSelectionQuery.java:564)
	at app//org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution.doExecute(JpaQueryExecution.java:223)
	at app//org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:92)
	at app//org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:149)
	at app//org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:137)
	at app//org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:136)
	at app//org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:120)
	at app//org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:164)
	at app//org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:143)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:72)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
	at app//org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:391)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at app//org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137)
	... 143 more
Caused by: java.sql.BatchUpdateException: Batch entry 0 insert into content_delivery_config (content_storage_id,created_at,custom_slug,file_structure_template,filter_key_id,filter_key_id_not,filter_key_prefix,filter_namespace,filter_state,filter_tag,filter_tag_in,filter_tag_not_in,format,languages,last_published,message_format,name,project_id,prune_before_publish,slug,structure_delimiter,support_arrays,updated_at,id) values (NULL,'2024-05-06 10:23:36.499+00','FALSE',NULL,NULL,NULL,NULL,NULL,'["TRANSLATED","REVIEWED"]',NULL,NULL,NULL,0,NULL,NULL,NULL,'Default server',254,'TRUE','7088698e3ac82fbc775f4aec7af6f95a','.','FALSE','2024-05-06 10:23:36.499+00',1000015011) was aborted: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80  Call getNextException to see other errors in the batch.
	at app//org.postgresql.jdbc.BatchResultHandler.handleError(BatchResultHandler.java:165)
	at app//org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2402)
	at app//org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:574)
	at app//org.postgresql.jdbc.PgStatement.internalExecuteBatch(PgStatement.java:896)
	at app//org.postgresql.jdbc.PgStatement.executeBatch(PgStatement.java:919)
	at app//org.postgresql.jdbc.PgPreparedStatement.executeBatch(PgPreparedStatement.java:1685)
	at app//com.zaxxer.hikari.pool.ProxyStatement.executeBatch(ProxyStatement.java:127)
	at app//com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeBatch(HikariProxyPreparedStatement.java)
	at app//org.hibernate.engine.jdbc.batch.internal.BatchImpl.lambda$performExecution$2(BatchImpl.java:279)
	... 175 more
Caused by: org.postgresql.util.PSQLException: ERROR: column "file_structure_template" of relation "content_delivery_config" does not exist
  Position: 80
	at app//org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2713)
	at app//org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2401)
	... 182 more