1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/dangdangdang2-db-smart-migrate-server

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 12:01 24a7965

Интеллектуальная служба миграции структуры таблиц

Сценарии использования

  • При совместном изменении структуры таблицы MySQL я хочу синхронно перенести структурные изменения в библиотеке в среде разработки в тестовую среду для интеллектуальной миграции. И архивировать изменённые записи SQL по мере необходимости. Скачать для проверки и затем выполнить онлайн.

  • Предоставляет шаги сравнения по таблицам, полям и индексам, чтобы показать, какие из них были добавлены, какие удалены, а какие — вручную выбранные требования к страницам, которые необходимо переименовать. Аналогично слиянию конфликтующего кода git.

  • Я хочу централизованно управлять изменениями SQL к фиксированной дате выпуска, чтобы уменьшить нагрузку на нескольких разработчиков и запись SQL.

Решаемые проблемы

  • Когда каждый клиент MySQL выполняет синхронизацию таблиц, он потеряет меньше таблиц и столбцов в левой базе данных, чем в правой;

  • Не может решить сценарии использования переименования таблиц, переименования полей и переименования индексов;

  • Нет ручного способа решить, что с этим делать самостоятельно.

  • Вы не можете интуитивно почувствовать, какие изменения были внесены, и изменённое содержимое не может быть сгенерировано в файлы SQL для резервного копирования, ручного редактирования и выполнения.

  • Данные строк также могут быть перезаписаны, вызывая проблемы со строковыми данными в разных средах.

Функции

  • Элементы содержимого, поддерживающие миграцию, включают: таблицы базы данных, атрибуты таблиц, имена столбцов, атрибуты столбцов, имена индексов и атрибуты индексов. В настоящее время внешние ключи не поддерживаются.

  • Если атрибут поля не равен нулю, автоматическая миграция не вызовет конфликта.

  • Обеспечивает функцию обнаружения конфликтов, аналогичную Git, которая вызывает конфликты для таблиц, столбцов и индексов и решает, как их обрабатывать.

  • Варианты обработки включают:

    • Добавлен [Добавить это изменение в правую библиотеку]
    • Переименован [Переименовать изменение правой библиотеки в имя таблицы, имя поля или имя индекса левой библиотеки]
    • Удалить [удалить больше таблиц, полей или индексов в правой базе данных, чем в левой]
  • Изменяйте содержимое и генерируйте версию файла SQL одним щелчком мыши. Доступно для скачивания.

  • Никаких изменений в данные таблицы не вносится для обеспечения безопасности данных.

  • В настоящее время поддерживает только Mysql.


avatar

Среда

  • Использование Java 8
  • Использование SpringBoot 1.5.9.RELEASE
  • Используйте Flyway для управления версиями

Учебник

 A. Конфигурация
  1. Если вы конфигурируете одну схему базы данных:
    rule:

           schema_name: 
             source:
               datasource:
                 url: ${source_1_url:jdbc:mysql://test:3306/database_name?characterEncoding=utf-8&useSSL=false}
                 username: ${source_1_username:root}
                 password: ${source_1_password:123456}
                 driver-class-name: com.mysql.jdbc.Driver
             target:
               datasource:
                 url: ${target_1_url:jdbc:mysql://dev:3306/database_name?characterEncoding=utf-8&useSSL=false}
                 username: ${target_1_username:root}
                 password: ${target_1_password:123456}
                 driver-class-name: com.mysql.jdbc.Driver
       #   schema_name-mysql:
       #     source:
       #       datasource:
       #         url: ${source_1_url:jdbc:mysql://test:3306/database_name-mysql?characterEncoding=utf-8&useSSL=false}
       #         username: ${source_1_username:root}
       #         password: ${source_1_password:123456}
       #         driver-class-name: com.mysql.jdbc.Driver
       #     target:
       #       datasource:
       #         url: ${target_1_url:jdbc:mysql://dev:3306/database_name-mysql?characterEncoding=utf-8&useSSL=false}
       #         username: ${target_1_username:root}
       #         password: ${target_1_password:123456}
       #         driver-class-name: com.mysql.jdbc.Driver
    
  2. Если вы настраиваете несколько схем баз данных, просто удалите #s

Использование

  1. Используйте в IDEA или Запустить Eclipse: src/main/java/com/system/DBVersionControlServerApplication.

  2. Скопируйте этот URL http://localhost:8081/ в любой браузер. Логин и пароль: admin/123456.
    Шаг первый: нажмите «структурная синхронизация», чтобы начать. Нажмите «начать», появится страница, действуйте согласно вашим потребностям. После завершения нажмите «миграция». В это время будет создана новая версия, и новый файл SQL будет доступен для скачивания.

Примечание:

Обратная связь: Email: 757761927@qq.com WeChat: qiuqiu757761927

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/dangdangdang2-db-smart-migrate-server.git
git@api.gitlife.ru:oschina-mirror/dangdangdang2-db-smart-migrate-server.git
oschina-mirror
dangdangdang2-db-smart-migrate-server
dangdangdang2-db-smart-migrate-server
master