Как воссоздать таблицы базы данных из снежинки амазонки в красном смещении амазонки с SQL или Python? (воссоздайте все один раз, а не один за другим) - PullRequest
1 голос
/ 31 марта 2020

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

См. здесь .

Мне нужен способ как-то воссоздать их все сразу. Не так, как в приведенной выше ссылке, одна за другой, поскольку существует много таблиц.

Исходная база данных находится в амазонской снежинке. Мне нужно простое решение, а не полностью автоматизированный сервис, поскольку это нужно сделать один раз

Ответы [ 2 ]

0 голосов
/ 31 марта 2020

INFORMATION_SCHEMA содержит подробную информацию о таблицах - имена, столбцы, типы данных, ключи, комментарии. Вы можете использовать «Dynami c sql», чтобы объединить их в оператор создания таблицы. Вот пример:

select 
    'create or replace table ' || max(table_name) || ' (\n' 
    || listagg('  ' || column_name || ' ' || data_type, ',\n')
    || '\n);'
from my_database.information_schema.columns
group by table_name
;

См. Эту статью о снежинке для получения дополнительной информации.

0 голосов
/ 31 марта 2020

В Snowflake вы можете выполнить:

SELECT get_ddl('database','{name of database}');

Это даст вам всю схему, таблицу, представления и т. Д. c. СОЗДАТЬ или ЗАМЕНИТЬ высказывания из Снежинки. Вам может потребоваться выполнить поиск / замену типов данных или некоторые другие вещи, которые могут отличаться между Snowflake и RedShift, но это самый простой способ go.

...