Como fazer: Usar renomeação e refatoração para fazer alterações em seus objetos de banco de dados

O menu contextual Refatorar no Editor de Transact-SQL permite renomear ou mover um objeto para um esquema diferente e permite uma visualização de todas as áreas afetadas antes de confirmar a alteração. Você também pode usar o menu Refatorar para qualificar completamente todas as referências a objetos de banco de dados ou expandir os caracteres curinga nas instruções SELECT em seu projeto de banco de dados.

Aviso

O procedimento apresentado a seguir usa entidades criadas em procedimentos anteriores na seção Desenvolvimento de banco de dados offline orientado a projetos.

Para renomear um tipo

  1. Clique com o botão direito do mouse na tabela Produtos (Products.sql) no Gerenciador de Soluções e selecione Exibir Código para abrir o script no Editor de Transact-SQL.

  2. Clique com o botão direito do mouse em [Products] no script, selecione Refatorar e Renomear.

  3. No campo Novo Nome, altere-o para Produto. Deixe a opção Visualizar Alterações marcada e clique em OK.

  4. Na próxima tela, você poderá visualizar uma lista de scripts que serão afetados por esta operação de renomeação. Especificamente, serão realçados todos os locais que se referem a Products. Isto é bem semelhante à tarefa de Localizar todas as referências no procedimento anterior. Clique em qualquer coisa no painel superior e exiba a alteração real nos scripts (realçada em verde) no painel inferior.

  5. Clique em Aplicar.

  6. Para arquivos de script que já estão abertos no Designer de Tabela ou no Editor de Transact-SQL, observe que o Editor Transact-SQL realçou os locais onde as alterações ocorreram com uma barra verde à esquerda.

  7. Observe a adição de TradeDev.refactorlog no Gerenciador de Soluções. Clique duas vezes para abri-lo. Contém uma representação XML de todas as alterações nesta sessão.

  8. Pressione F5 para criar e implantar o projeto no banco de dados local.

  9. Clique com o botão direito do mouse no banco de dados TradeDev em Local no Pesquisador de Objetos do SQL Server e selecione Atualizar.

  10. Expanda Tabelas e observe que a tabela Produtos foi renomeada.

  11. Clique com o botão direito do mouse em Produto e selecione Exibir Dados. Observe que os dados existentes são mantidos intatos independentemente da operação de renomeação.

Aviso

Se um log de refatoração for excluído, o histórico completo da refatoração será excluído. Quando o projeto é publicado em um banco de dados em que as operações de refatoração anteriores não foram aplicadas, todas as operações de refatoração concluídas antes da exclusão do arquivo de refatoração serão publicadas como operações de remoção e criação. Como resultado, pode ocorrer perda de dados.

Para expandir curingas

  1. Expanda o nó Funções no Gerenciador de Soluções e clique duas vezes em GetProductsBySupplier.sql.

  2. Coloque o cursor no asterisco nesta linha e clique com o botão direito do mouse. Selecione Refatorar e Expandir Curingas.

    SELECT * from Product p  
    
  3. Na caixa de diálogo Visualizar Alterações, clique na opção SELECT * from Product p no painel superior para realçá-la.

  4. No painel Visualizar Alterações abaixo, observe que * foi expandido para o seguinte no script.

    [Id], [Name], [ShelfLife], [SupplierId], [CustomerId]  
    
  5. Clique no botão Aplicar. Observe a linha que contém alterações produzidas pela operação de expansão é realçada novamente com uma barra verde na esquerda.

Para qualificar totalmente nomes de objeto de banco de dados

  1. Verifique se GetProductsBySupplier.sql ainda está aberto no Editor Transact-SQL.

  2. Coloque o cursor no Product nesta linha e clique com o botão direito do mouse. Selecione Refatorar e Nomes Totalmente Qualificados.

    SELECT [Id], [Name], [ShelfLife], [SupplierId], [CustomerId] from Product p  
    
  3. Clique no botão Aplicar na caixa de diálogo Visualizar Alterações. Observe que todas as referências de objeto foram atualizadas para incluir o nome do esquema do objeto e, se o objeto tiver um pai, o nome do pai.

    SELECT [p].[Id], [p].[Name], [p].[ShelfLife], [p].[SupplierId], [p].[CustomerId] from [dbo].[Product] p  
    

Para mover o esquema

  1. Clique com o botão direito do mouse no objeto que você deseja mover. Selecione Refatorar e Mover Esquema.

  2. Na lista Novo Esquema, clique no nome do esquema para o qual você deseja mover o objeto. Clique em OK.

    Se você tiver marcado a caixa Visualizar alterações, a caixa de diálogo Visualizar Alterações será exibida. Caso contrário, o nome do objeto será atualizado e o objeto será movido para o novo esquema.