Condividi tramite


Procedura: Usare la ridenominazione e il refactoring per apportare modifiche agli oggetti di database

Il menu contestuale Refactoring nell'editor di Transact-SQL consente di rinominare o spostare un oggetto in uno schema diverso e visualizzare in anteprima tutte le aree interessate prima di eseguire il commit della modifica. È anche possibile utilizzare il menu Refactoring per qualificare completamente tutti i riferimenti agli oggetti di database o espandere qualsiasi carattere jolly nelle SELECT istruzioni del progetto di database.

Avvertimento

La procedura seguente utilizza le entità create nelle procedure precedenti nelle sezioni Project-Oriented sviluppo di database offline.

Rinominare un tipo

  1. Fare clic con il pulsante destro del mouse sulla Products tabella (Products.sql) in Esplora soluzioni e scegliere Visualizza codice per aprire lo script in Transact-SQL Editor.

  2. Fare clic con il pulsante destro del mouse su [Products] nello script, selezionare Refactore cliccare su Rinomina.

  3. Nel campo Nuovo nome impostarlo su Product. Lasciare selezionata l'opzione Anteprima modifiche e selezionare OK.

  4. Nella schermata successiva è possibile visualizzare in anteprima un elenco di script che questa operazione di ridenominazione avrà effetto. In particolare, tutte le posizioni a cui si fa riferimento Products sono evidenziate. Questo processo è simile all'attività Trova tutti i riferimenti nella procedura precedente. Selezionare qualsiasi elemento nel riquadro superiore e visualizzare la modifica effettiva negli script (evidenziati in verde) nel riquadro inferiore.

  5. Selezionare Applica.

  6. Per i file di script già aperti in Progettazione tabelle o Transact-SQL Editor, Transact-SQL Editor evidenzia i percorsi in cui sono state apportate le modifiche con una barra verde a sinistra.

  7. Si noti l'aggiunta di TradeDev.refactorlog in Esplora soluzioni. Fare doppio clic per aprirlo. Contiene una rappresentazione XML di tutte le modifiche in questa sessione.

  8. Premere F5 per compilare e distribuire il progetto nel database locale.

  9. Fare clic con il pulsante destro del mouse sul TradeDev database in Locale in Esplora oggetti di SQL Server e scegliere Aggiorna.

  10. Espandere Tabelle e si noterà che la Products tabella è stata rinominata.

  11. Fare clic con il pulsante destro del mouse Product e selezionare Visualizza dati. I dati esistenti vengono mantenuti intatti indipendentemente dall'operazione di ridenominazione.

Avvertimento

Se viene eliminato un log di refactoring, viene eliminata anche la cronologia completa del refactoring. Quando il progetto viene pubblicato in un database in cui le operazioni di refactoring precedenti non vengono applicate, le operazioni di refactoring completate prima dell'eliminazione del file di refactoring vengono pubblicate come operazioni di eliminazione e creazione. Di conseguenza, la perdita di dati può verificarsi.

Ampliare i caratteri jolly

  1. Espandere il nodo Funzioni in Esplora soluzioni e fare doppio clic su GetProductsBySupplier.sql.

  2. Posizionare il cursore sull'asterisco in questa riga e fare clic con il pulsante destro del mouse. Selezionare Refattorizzaree Espandi caratteri jolly.

    SELECT * FROM Product AS p;
    
  3. Nella finestra di dialogo Anteprima modifiche selezionare SELECT * from Product p nel riquadro superiore per evidenziarlo.

  4. Nel riquadro Anteprima modifiche riportato di seguito si noti che * è stato espanso fino alle colonne seguenti nello script.

    [Id], [Name], [ShelfLife], [SupplierId], [CustomerId]
    
  5. Selezionare il pulsante Applica. Si noti che la riga contenente le modifiche apportate dall'operazione di espansione viene nuovamente evidenziata con una barra verde a sinistra.

Qualificare completamente i nomi degli oggetti di database

  1. Assicurarsi che GetProductsBySupplier.sql sia ancora aperto nell'editor di Transact-SQL.

  2. Posizionare il cursore su Product in questa riga e fare clic con il pulsante destro del mouse. Selezionare Rifattorizzaree Fully-Qualify Nome.

    SELECT [Id],
           [Name],
           [ShelfLife],
           [SupplierId],
           [CustomerId]
    FROM Product AS p;
    
  3. Selezionare il pulsante Applica nella finestra di dialogo Anteprima modifiche . Tutti i riferimenti all'oggetto vengono aggiornati per includere il nome dello schema dell'oggetto e, se l'oggetto ha un elemento padre, il nome dell'elemento padre.

    SELECT [p].[Id],
           [p].[Name],
           [p].[ShelfLife],
           [p].[SupplierId],
           [p].[CustomerId]
    FROM [dbo].[Product] AS p;
    

Sposta schema

  1. Fare clic con il pulsante destro del mouse sull'oggetto da spostare. Selezionare Rifattorizzaree Spostare schema.

  2. Nell'elenco Nuovo schema selezionare il nome dello schema in cui si desidera spostare l'oggetto. Seleziona OK.

    Se si seleziona la casella di controllo Anteprima modifiche , viene visualizzata la finestra di dialogo Anteprima modifiche . In caso contrario, il nome dell'oggetto viene aggiornato e l'oggetto viene spostato nel nuovo schema.