Существует небольшой проект моей разработки, основанный на squeryl - типичная структура реляционных баз данных для Scala (язык на основе JVM).Как перенести существующие данные с помощью sqeryl?
Я предвижу несколько обновлений после первоначального развертывания. Данные, введенные в базу данных, должны быть сохранены над ними. Это невозможно без какой-либо процедуры переноса данных, обновления данных для более новой схемы БД. Использование старых данных для тестирования нового кода также требует исправлений совместимости.
Теперь я использую автоматическую генерацию схемы через фреймворк. Кажется, он только может создать схему с нуля - данные не сохраняются.
Существуют ли методы, которые позволяют легко и формализовать перенос данных в измененную схему без полного отказа от создания автоматической схемы?
До сих пор я могу видеть только простой способ добавления столбцов: мы даем старые данные, предоставляем значения по умолчанию для новых столбцов, восстанавливаем схему и восстанавливаем старые данные.
Как удалить, переименовать, изменить типы столбцов или семантику?
Если генерация схемы не полезна для миграции базы данных на производство, каковы стандартные процедуры для обычной переустановки вручную/сценария?