Я пытаюсь написать приложение Java, которое копирует таблицы в другую схему.
Если я просто использую результат из show create table foo_bar
в целевой схеме, я получаю ошибки, если ссылочные таблицы для внешних ключей еще не созданы. Поэтому я создаю свои собственные сценарии, используя DatabaseMetaData
[getTables ()] для создания таблиц без внешних ключей. После создания всех таблиц я добавлю FK. И вот тут начинаются неприятности.
Поскольку я не могу (и не хочу) сортировать эти сценарии FK вручную, я ищу способ выполнить их по порядку, в зависимости от имеющихся у них ссылок.
Есть ли способ сгенерировать эти сценарии в ссылочном порядке, может быть, сторонняя библиотека Java, закопанная глубоко в Интернете? Или нельзя избежать запуска всех этих сценариев изменения таблицы один за другим, пока программа не получит никаких ошибок? Как лучше всего подойти к этой проблеме?
Я использую jdbc
для подключения mysql
, используя innodb storage engine
. Если ответ содержит сравнительную информацию о других rdbms, то это очень ценится.