Po tym, jak @a_koń_bez_nazwy wskazał mi właściwy kierunek i rozmawiałem z AWS, jestem w stanie odpowiedzieć na własne pytanie, przynajmniej jeśli korzystasz z usługi migracji bazy danych AWS (DMS).
Problem polega na tym, że DMS skupia się tylko na samych danych, a nie na schemacie (co wydaje mi się poważnym przeoczeniem, zwłaszcza jeśli używasz tej samej technologii baz danych, ale to inna kwestia). Tak więc sam schemat nie jest migrowany. Dokumentacja tak naprawdę nie wyjaśnia tego.
Aby rozwiązać ten problem:
- Zatrzymaj (jeśli nadal istnieje) istniejącą migrację AWS DMS
- Upuść istniejącą migrowaną bazę danych i utwórz nowy pusty schemat do użycia
- Wykonaj kroki opisane tutaj https://docs.aws. amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html zainstalować i skonfigurować narzędzie Amazon Schema Conversation Tool (SCT)
- Po nawiązaniu połączenia z obiema bazami danych wykonaj kroki opisane tutaj https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Converting.html aby "przekonwertować" twój schemat (zrobiłem cały "publiczny" schemat dla tej bazy danych, aby upewnić się, że wszystko jest uwzględnione
- Utwórz lub zmodyfikuj migrację AWS DMS, upewniając się, że Tryb przygotowywania tabeli docelowej =„OBCIĄŻAJ” i wyłączaj klucze obce w docelowej bazie danych. Jeśli modyfikujesz, upewnij się, że po wyświetleniu pytania „RESTART” nie wznawiaj
To, czego jeszcze nie testowałem, to jak poradzić sobie z faktem, że migruję żywą bazę danych. Tak więc sekwencje mogą być nieaktualne w docelowej bazie danych po zakończeniu migracji. Wierzę, że mogę później przejść do SCT i migrować tylko sekwencje, ale jeszcze tego nie testowałem.