Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 5
×
Software developer в Codeborne
  • Серія майстер-класів з автоматизації тестування UI на Java з Selenide на всі випадки життя

    @roma-marinsky (Что-то у меня кнопка «Ответить» не работает, поэтому отвечу здесь)

    С тобой-то мы, конечно, знакомы, но тут же типа сообщество, много читателей — вот и обращаюсь ко всем.

    Если не ошибаюсь, Артём Ерошенко из Украины. Да, конечно, это само по себе ничего не меняет — просто спросил...

    Насчёт ишью — не знаю, что они думают о войне, но вижу, что у них ещё 300 ишью открыто. Похоже, они в целом не очень-то активно занимаются проектом, и уже давно. Может, дело вовсе не в их политической позиции?

  • Серія майстер-класів з автоматизації тестування UI на Java з Selenide на всі випадки життя

    Слушайте, а разве Аллюр не был изначально написан человеком, родившимся в Украине?

  • Java дайджест #40: Java 11, или Мы все умрем... снова

    Ну как. Нет, мы не знали, что могут быть null. Мы думали, что их не должно быть. Их и не было в тестовой среде. А вот в продакшине (куда у нас доступа нет, сами проверить не могли) они оказались. Какие-нибудь дурацкие записи десятилетней давности.

    runOnChange помогает так, что на тест-средах, где этот changeset уже пробежал, он второй раз запускаться не будет. А на проде запустится. А до этого changeset мы добавим другой — который, скажем, удаляет эти левые записи. Или прописывает туда ненулевое значение.

    P.S. Да, именно из-за H2 мы и используем XML синтаксис LiquiBase. Но так мало кто делает. Многие, например, считают, что тесты надо запускать на той же базе, что и приложение. Например, докер сейчас решает эту проблему.

  • Java дайджест #40: Java 11, или Мы все умрем... снова

    Легко.
    Допустим, был changeset «add NotNull constaint» для колонки X. И он успешно прошёл на всех дев- и тест- средах. А при установке на стэджинг (а может, и в продакшн) он упал, потому что там нашлась запись, в которой X = null. А на всех дев- и тест-средах не было такой записи.

    Ну вот как теперь в Flyway разрулить эту ситуацию? Никак. Ручками в базе придётся исправлять.
    А в LiquiBase как раз и можно прописать все эти атрибуты «runOnChange», условия и т.д.

    Здесь я рассказывал про плюшки LiquiBase: www.youtube.com/watch?v=A3XoEp_3V88

    P.S. XML синтаксис для меня как раз спорная фича. Таких проектов, где нужна была бы поддержка нескольких баз, крайне мало. А BD девелоперам, которые уже знают SQL, проще продолжать писать на SQL. Учить новый язык для них — лишняя обуза.

  • Java дайджест #40: Java 11, или Мы все умрем... снова

    Я использую Liquibase. Он лучше Flyway вот почему:
    Его синтаксис xml позволяет каждому changeset прописать дополнительные атрибуты — надо ли его перезапускать при ошибке (или даже каждый раз), надо ли перезапустить при изменении и т.д. в Flyway всё это невозможно.

    Підтримали: anonymous, anonymous