Просмотр создан отлично раньше, теперь сбое выходит из строя каждый раз на Postgres, используя ликибазJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Просмотр создан отлично раньше, теперь сбое выходит из строя каждый раз на Postgres, используя ликибаз

Сообщение Anonymous »

Это представление: < /p>

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

SELECT DISTINCT d.comic_book_id   as comic_book_id,
d.comic_detail_id as comic_detail_id,
d.archive_type    as archive_type,
d.comic_state     as comic_state,
CASE
WHEN EXISTS(SELECT *
FROM comic_metadata_sources s
WHERE s.comic_book_id = d.comic_book_id)
THEN false
ELSE true END AS is_unscraped,
d.comic_type      as comic_type,
d.publisher       as publisher,
d.series          as series,
d.volume          as volume,
d.issue_number    as issue_number,
d.description     as description,
d.notes           as notes,
(SELECT RIGHT(CONCAT('0000000000', d.issue_number), 10)) as sortable_issue_number, d.title as title, (
SELECT COUNT(*)
FROM comic_pages cp
WHERE cp.comic_book_id = d.comic_book_id) as page_count
, d.cover_date as cover_date
, CASE WHEN d.cover_date IS NULL THEN 0 ELSE MONTH (cover_date)
END
as month_published
, CASE WHEN d.cover_date IS NULL THEN 0 ELSE YEAR (cover_date)
END
as year_published,
d.store_date as store_date,
d.added_date as added_date
FROM comic_details d
< /code>
В V2 нашего проекта эта точка зрения создала и работала просто отлично. Таким образом, я скопировал содержимое представления из нашей кодовой базы V2 в миграцию для V3. < /P>
Когда я запускаю миграцию во всех других поддерживаемых базах данных (H2, MySQL, Mariadb) IT, и все связанные операции отлично работают. Class = "Lang-None PrettyPrint-Override">Caused by: org.postgresql.util.PSQLException: ERROR: function month(date) does not exist
Hint: No function matches the given name and argument types. You might need to add explicit type casts.
Но, когда я возвращаюсь к нашему коду V2 и запускаю Тот же самый тот же содержимое миграционного миграционного содержимого , что работает просто хорошо, нет проблем. Я даже скопировал тело старой миграции в новую, и это не удалось . Но старый код по-прежнему работает в одном и том же экземпляре Postgres и создает рабочее представление.

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

THEN SELECT EXTRACT(MONTH FROM cover_date)
< /code>
и: < /p>
THEN SELECT EXTRACT(YEAR FROM cover_date)
Тогда представление создается прекрасно, но время выполнения заменяет их на вызов MONTOM () и year () соответственно, а постгры снова дают одно и то же сообщение об ошибке.
Другое различие между нашим кодом V2 и V3 заключается в том, что v3 состоит в том, что мы перешли от Spring Boot 3.2.3.3.1 .1. Я не уверен, изменилась ли версия Liquibase между ними, но может ли быть какая -то ошибка в более новой версии LB? Я предполагаю, что Spring увеличила его к более новой версии.

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

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

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

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

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

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

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