Converter Atlas Triggers
Você pode importar e converter seus Triggers SQL Atlas Triggers em MongoDB Atlas Triggers com o conversor de query. O conversor de query considera o código SQL e o esquema relacional definidos em seu projeto ao converter seus Atlas Triggers.
Sobre esta tarefa
O conversor de query usa tecnologia de AI que pode não ser capaz de converter query, triggers ou procedimentos armazenados longos ou complexos. Algumas queries podem não ser convertidas corretamente, enquanto outras podem não ser convertidas.
O conversor de query utiliza o esquema relacional, o esquema MongoDB e as regras de mapeamento em seu projeto atual para determinar como as queries devem ser convertidas. As conversões podem falhar ou estar incorretas se as queries fizerem referência a tabelas que não estão em seu esquema relacional ou se não estiverem mapeadas para as coleções do MongoDB.
Query, Atlas Triggers, visualizações e procedimentos armazenados convertidos são salvos em seu projeto e persistem por meio da importação e exportação do projeto.
As queries SQL estão limitadas a 40,000 caracteres de texto.
Você pode visualizar o histórico de conversões anteriores no painel Query Converter à esquerda. Cada conversão tem um ícone indicando o resultado da conversão. Se um objeto não tiver um ícone próximo a ele, ainda não foi tentada uma conversão:
IconDescriçãoControle giratórioA conversão agora está sendo executada.Marca de verificação verdeA conversão foi bem-sucedida.Ponto de interrogação vermelhoA conversão falhou na última tentativa.
Antes de começar
Seu relational database deve ter pelo menos um trigger para converter.
Sempre revise e teste o código gerado pelo conversor de query antes de implementá-lo em um ambiente de produção.
Passos
Selecionar triggers
No modal Import Database Objects , clique em ao lado de Database.
Clique em ao lado do esquema.
Clique em ícone ao lado de Triggers.
Dica
Para alternar um trigger para conversão, clique em ícone ao lado do nome do trigger. Todos os triggers são selecionados por padrão.
Clique em Save.
O código para cada trigger no esquema de banco de dados é importado para o projeto e está visível no painel Query Converter esquerdo, em Triggers .
Converter o trigger SQL
Clique no nome de um trigger no painel esquerdo em Triggers.
Dica
Você pode usar a caixa de texto Filter para filtrar query, procedimentos armazenados, Atlas Triggers e visualizações com base no nome do objeto e na sintaxe SQL.
O código do trigger SQL é exibido no painel Imported Trigger .
Clique no botão Convert . Aguarde o conversor de query converter seu código.
O código MongoDB convertido é exibido no painel Converted MongoDB Query .
Se o conversor de consultas tiver erros, você poderá ver os detalhes no painel Converted MongoDB Query.
Clique em no painel Converted MongoDB Query para copiar o código do MongoDB para a área de transferência.
Criar o trigger no Atlas
Inicie sessão na sua conta Atlas.
Na tela Overview , clique em Triggers.
Clique em Add Trigger.
Dica
O código MongoDB convertido contém linhas comentadas para todas as variáveis que você deve selecionar no Atlas para criar seu trigger. Por exemplo:
// Collection Name: products // Operation Type: Insert Insira um nome para o trigger no campo de texto Name .
Selecione o Cluster Name, o Database Name e o Collection Name.
Selecione o Operation Type como Insert Document .
Alterne os interruptores Document Preimage e Full Document para ligados.
Insira o código MongoDB convertido no campo de texto Function .
Importante
Atualize o
clusterName
edatabaseName
no código Atlas gerado para corresponder ao seu nome de cluster e reconhecimento de data center.Clique em Save para salvar o Realm trigger.
Exemplo
Converter um trigger do MySQL
O exemplo seguinte mostra um conversor de MySQL trigger para Atlas:
CREATE TRIGGER TRIGGER_UPPER_PRODUCTS BEFORE INSERT ON MYDATABASE.PRODUCTS FOR EACH ROW SET NEW.FULL_NAME = UPPER(new.FULL_NAME)
// The relational database trigger has been converted to MongoDB Atlas Triggers format. // To create a trigger, open your Atlas project (https://cloud.mongodb.com) and choose Triggers // For more on Atlas triggers see the docs: https://www.mongodb.com/pt-br/docs/atlas/triggers/ // Create your trigger using the following settings and paste the code into the Function section: // Watch Against: Collection // Cluster Name: Ensure clusterName matches selection in Atlas Trigger configuration // Database Name: Ensure databaseName matches selection in Atlas Trigger configuration // Collection Name: products // Operation Type: Insert // Full Document: On // Document Preimage: Off exports = async function(changeEvent) { const clusterName = "clusterName"; const databaseName = "databaseName"; const { fullDocument } = changeEvent; const db = context.services.get(clusterName).db(databaseName); const collection = db.collection('products'); if (fullDocument && fullDocument.fullName) { fullDocument.fullName = fullDocument.fullName.toUpperCase(); await collection.updateOne({ _id: fullDocument._id }, { $set: { fullName: fullDocument.fullName } }); } };