Создание внешнего ключа и индекса в ссылочном порядке с использованием JDBC - PullRequest
0 голосов
/ 02 июля 2018

Я пытаюсь написать приложение Java, которое копирует таблицы в другую схему.

Если я просто использую результат из show create table foo_bar в целевой схеме, я получаю ошибки, если ссылочные таблицы для внешних ключей еще не созданы. Поэтому я создаю свои собственные сценарии, используя DatabaseMetaData [getTables ()] для создания таблиц без внешних ключей. После создания всех таблиц я добавлю FK. И вот тут начинаются неприятности.

Поскольку я не могу (и не хочу) сортировать эти сценарии FK вручную, я ищу способ выполнить их по порядку, в зависимости от имеющихся у них ссылок.

Есть ли способ сгенерировать эти сценарии в ссылочном порядке, может быть, сторонняя библиотека Java, закопанная глубоко в Интернете? Или нельзя избежать запуска всех этих сценариев изменения таблицы один за другим, пока программа не получит никаких ошибок? Как лучше всего подойти к этой проблеме?

Я использую jdbc для подключения mysql, используя innodb storage engine. Если ответ содержит сравнительную информацию о других rdbms, то это очень ценится.

...