Создание операторов Create Table для Redshift путем чтения оператора Oracle DDL в python
У меня есть 5 таблиц в базе данных Oracle. Мне нужно создать подобные структуры из них в AWS Redshift. Я использую cx_oracle для подключения к Oracle и дампа ddl в CSV-файл. Но изменение этого DDL для каждого типа данных в python, чтобы он работал в Redshift, оказывается очень утомительным процессом.
Есть ли простой способ сделать в Python? Есть ли библиотека или функция, чтобы сделать это без проблем.
PS: я пытался использовать AWS Schema Conversion Tool для этого. Таблицы были созданы в Redshift, но с затруднением. Каждый тип данных удваивается в Redshift.
Например: varchar(100) в Oracle стал varchar(200) в Redshift. Кто-нибудь сталкивался с подобной проблемой раньше с SCT?
1 ответ
Проект cx_OracleTools и, в частности, инструмент DescribeObject в этом проекте, имеют возможность извлекать DDL из базы данных Oracle. Вы можете использовать это.