Live Chat Software by Kayako |
Миграция БД Core из MSSQL в PostgreSQL
Автор Maksim Efanov, Last modified by Maksim Efanov на 19 апреля 2024 10:00 AM
|
|
Предварительные требования:
Контейнер для миграции: https://download.indeed-company.ru/s/Ven5SRetKDa8Q4a
Процесс миграции 1. Откройте файл config\ms.load и укажите данные для подключения к базам в следующих строках: from mssql://{username}:{password}@{host}:{port}/{db_name} Пример: Порт для MSSQL можно найти в конфигурации SQL сервера: 2. Запустите утилиту с помощью следующей команды (утилиту можно запускать с любой машины с доступом до MSSQL и PostgreSQL): docker-compose up После успешного завершения миграции, будет подобный вывод: 3. Запустите скрипт восстановления таблицы миграций migrations.sql.
psql -U postgres -d db_name < sql/migrations.sql Или, если PostgreSQL сервер установлен на Windows, можно выполнить скрипт с помощью утилиты C:\Program Files\PostgreSQL\{версия pgsql}\scripts\runpsql.bat.
\i sql/migrations.sql Пример использования runpsql.bat и выполнения утилиты: 4. При миграции данных из Microsoft SQL в PostgreSQL могут возникнуть ошибки из-за разного формата в типах данных. Запустите скрипт, который устранит такие ошибки: psql -U postgres -d db_name < sql/datafix.sql Или через C:\Program Files\PostgreSQL\{версия pgsql}\scripts\runpsql.bat: \i sql/datafix.sql При успешном выполнении: Данный скрипт может завершиться с ошибкой, если использовать кодировку, отличную от UTF16. В powershell сменить кодировку можно так: $PSDefaultParameterValues['*:Encoding'] = 'utf16' | |
|