schema2dwh
é desenvolvido com IA - Gemini do Google - certifique-se de verificar todas as saídas de código antes de inscrevê-lo na produção. Esteja ciente também de que o processamento por meio deste script utilizará a API Gemini, onde os dados são processados pelo Google. schema2dwh
é uma estrutura de código aberto projetada para simplificar e produzir automaticamente um modelo de dados baseado em seu banco de dados usando seu esquema de informações, aproveitando IA e algumas perguntas sobre suas entradas, ele produzirá rapidamente um arquivo SQL DDL, pronto para criar o esqueleto por trás do seu data warehouse recém-construído.
Veja abaixo um exemplo de como funciona.
my_schema.csv
: output_schema.sql
: google-generativeai
)Clone o repositório:
git clone https://github.com/cqllum/schema2dwh.git
cd schema2dwh
Instale os pacotes necessários:
pip install google-generativeai
Configure sua chave de API do Google Generative AI: substitua o espaço reservado your-api-key
no script pela sua chave real da API do Google Generative AI. Gere uma chave aqui: https://aistudio.google.com/app/apikey
Substitua o arquivo de esquema de entrada de exemplo (my_schema.csv): Observe que, para que isso seja o mais preciso possível, você precisará buscar o esquema de informações em seu banco de dados. Na maioria dos casos, é tão simples quanto SELECT * FROM information_schema.columns
- Caso contrário, consulte a documentação do software de banco de dados.
Execute o script:
python schema2dwh.py
Siga as instruções: O script solicitará as seguintes informações:
Saída: o script gerará as instruções SQL DDL e as salvará em output_schema.sql
. Se o esquema não puder ser gerado, ele solicitará que você forneça um esquema de informações adequado.
configure_genai(api_key)
: configura o modelo Generative AI com a chave de API fornecida.create_model()
: cria e configura o modelo de IA generativa com as configurações especificadas.start_chat_session(model)
: inicia uma sessão de chat com o modelo usando instruções predefinidas.gather_user_input()
: Reúne as entradas necessárias do usuário de forma interativa.format_response(db_software, db_name, industry, case_type, input_schema, additional_value)
: formata as entradas do usuário em uma resposta para a sessão de chat.save_schema_to_file(output_file, schema_output)
: salva a saída do esquema gerado no arquivo especificado.main()
: A função principal que orienta o script.