Я работал на загрузочном сервере Spring, используя JPA / Hibernate в качестве ORM и PostgresQL на бэкэнде.Для развертывания я использую AWS Elastic Beanstalk.У меня было два столбца, которые были меткой времени, но я хотел бы преобразовать их в строку.
Для этого я подключился к базе данных, изменил два столбца на varchar, изменил тип данных в модели в коде и заново развернул приложение.Когда я делаю это, все серверные соединения (либо CrudRepository.save или CrudRepository.update) с измененной таблицей зависают, а затем через некоторое время (вероятно, 5-10 минут) сервер начинает отвечать на соединения, но тип данныхвозвращается к тому, что было до (отметка времени).
код до:
@Temporal(TemporalType.TIMESTAMP)
private Date startTimePerformed;
@Temporal(TemporalType.TIMESTAMP)
private Date endTimePerformed;
код после:
private String startTimeScheduled;
private String endTimeScheduled;
SQL используется для изменения типов:
ALTER TABLE appointment ALTER COLUMN start_time_scheduled TYPE varchar;
Ожидаемые результаты: при попытке вставить новую запись в базу данных с сервером сервер правильно вставляет новый тип данных.
Как правильно переносить данные с помощью JPA и PostgresQL