SlideShare une entreprise Scribd logo
1  sur  23
Globalcode – Open4education
Trilha .NET
André Carlucci
Globalcode – Open4education
Então você quer atualizar
o esquema de sua base
de dados de produção,
certo?
Globalcode – Open4education
Modo Manual
Globalcode – Open4education
Modo Manual
Globalcode – Open4education
Propício a erros
Sem rollback
O que mudou desde meu último push?
MEDO!
Modo Manual
Globalcode – Open4education
Não seria legal se mudanças na base
de dados fossem parecidas com
changesets em nossos controles de
versão?
Globalcode – Open4education
Globalcode – Open4education
Ruby Migrations
Globalcode – Open4education
Enable-Migrations
Add-Migration
Update-Database
*SqlServer
EF Code-First Migrations
Globalcode – Open4education
EF Migrations Demo
Globalcode – Open4education
E se eu uso Oracle?
Globalcode – Open4education
Sharp Migrations
Install-Package SharpMigrations
Globalcode – Open4education
SharpMigrations Demo
Globalcode – Open4education
Detecta automaticamente quais
mudanças devem ser feitas
Globalcode – Open4education
Facilmente executadas no seu build
server
Globalcode – Open4education
Podem gerar scripts para múltiplos
bancos de dados
Globalcode – Open4education
Facilidade em retonar o estado do
banco para uma revisão passada
Globalcode – Open4education
Então você quer mexer no meu
banco de dados?
A barreira do DBA
Globalcode – Open4education
Migrations podem gerar arquivos com
scripts
Globalcode – Open4education
Deixe as migrations em um assembly separado
Tente fazer apenas uma ação por migration
Separe ações de DDL e DML
Dicas
Globalcode – Open4education
SharpMigrations
EF Migrations
RikMigrations
Fluent Migrator
Migrator.Net
DotNetMigrations
Frameworks para todos os gostos
Globalcode – Open4education
Globalcode – Open4education
Obrigado!
André Carlucci
@andrecarlucci
www.andrecarlucci.com

Contenu connexe

Similaire à Migrations .NET para atualizar bancos de dados

Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)Igor Abade
 
Aplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com DockerAplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com DockerWellington Silva
 
TDC2017 | São Paulo - Trilha Java EE How we figured out we had a SRE team at ...
TDC2017 | São Paulo - Trilha Java EE How we figured out we had a SRE team at ...TDC2017 | São Paulo - Trilha Java EE How we figured out we had a SRE team at ...
TDC2017 | São Paulo - Trilha Java EE How we figured out we had a SRE team at ...tdc-globalcode
 
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...tdc-globalcode
 
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...Renato Groff
 
TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...
TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...
TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...tdc-globalcode
 
Carrefour E-commerce - Multicloud Brasil Day 2017
Carrefour E-commerce - Multicloud Brasil Day 2017Carrefour E-commerce - Multicloud Brasil Day 2017
Carrefour E-commerce - Multicloud Brasil Day 2017Denis Santos
 
Java e uma visão sobre PaaS
Java e uma visão sobre PaaSJava e uma visão sobre PaaS
Java e uma visão sobre PaaSEder Magalhães
 
TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...
TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...
TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...tdc-globalcode
 
WildFly Avançado - TDC Floripa 2015
WildFly Avançado - TDC Floripa 2015WildFly Avançado - TDC Floripa 2015
WildFly Avançado - TDC Floripa 2015Adriano Schmidt
 
Introdução ao Habitat
Introdução ao HabitatIntrodução ao Habitat
Introdução ao HabitatIgor Abade
 
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...Bruno Tanoue
 
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a ServiçosContinuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a ServiçosSamanta Cicilia
 
Monitorando serviços REST com o Application Insights
Monitorando serviços REST com o Application InsightsMonitorando serviços REST com o Application Insights
Monitorando serviços REST com o Application InsightsRenato Groff
 
[Agile Brazil] Entrega Contínua na Infoglobo: gerando valor em 2 horas
[Agile Brazil] Entrega Contínua na Infoglobo:  gerando valor em 2 horas[Agile Brazil] Entrega Contínua na Infoglobo:  gerando valor em 2 horas
[Agile Brazil] Entrega Contínua na Infoglobo: gerando valor em 2 horasSamanta Cicilia
 
Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...
Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...
Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...Renato Groff
 
Sap Comunity Day Brasil 2009 - SAP NWDI
Sap Comunity Day Brasil 2009 - SAP NWDISap Comunity Day Brasil 2009 - SAP NWDI
Sap Comunity Day Brasil 2009 - SAP NWDImarlosimon
 
Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#tdc-globalcode
 

Similaire à Migrations .NET para atualizar bancos de dados (20)

Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
 
Aplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com DockerAplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com Docker
 
TDC2017 | São Paulo - Trilha Java EE How we figured out we had a SRE team at ...
TDC2017 | São Paulo - Trilha Java EE How we figured out we had a SRE team at ...TDC2017 | São Paulo - Trilha Java EE How we figured out we had a SRE team at ...
TDC2017 | São Paulo - Trilha Java EE How we figured out we had a SRE team at ...
 
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
 
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...
 
TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...
TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...
TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...
 
Carrefour E-commerce - Multicloud Brasil Day 2017
Carrefour E-commerce - Multicloud Brasil Day 2017Carrefour E-commerce - Multicloud Brasil Day 2017
Carrefour E-commerce - Multicloud Brasil Day 2017
 
Java e uma visão sobre PaaS
Java e uma visão sobre PaaSJava e uma visão sobre PaaS
Java e uma visão sobre PaaS
 
TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...
TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...
TDC2018SP | Trilha Blockchain - Criando minha Primeira Blockchain Privada (DL...
 
WildFly Avançado - TDC Floripa 2015
WildFly Avançado - TDC Floripa 2015WildFly Avançado - TDC Floripa 2015
WildFly Avançado - TDC Floripa 2015
 
Introdução ao Habitat
Introdução ao HabitatIntrodução ao Habitat
Introdução ao Habitat
 
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
 
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a ServiçosContinuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
 
Monitorando serviços REST com o Application Insights
Monitorando serviços REST com o Application InsightsMonitorando serviços REST com o Application Insights
Monitorando serviços REST com o Application Insights
 
[Agile Brazil] Entrega Contínua na Infoglobo: gerando valor em 2 horas
[Agile Brazil] Entrega Contínua na Infoglobo:  gerando valor em 2 horas[Agile Brazil] Entrega Contínua na Infoglobo:  gerando valor em 2 horas
[Agile Brazil] Entrega Contínua na Infoglobo: gerando valor em 2 horas
 
Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...
Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...
Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...
 
Revolução Go TDC 2016
Revolução Go TDC 2016Revolução Go TDC 2016
Revolução Go TDC 2016
 
Sap Comunity Day Brasil 2009 - SAP NWDI
Sap Comunity Day Brasil 2009 - SAP NWDISap Comunity Day Brasil 2009 - SAP NWDI
Sap Comunity Day Brasil 2009 - SAP NWDI
 
Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#
 
Programação Funcional usando F#
Programação Funcional usando F#Programação Funcional usando F#
Programação Funcional usando F#
 

Plus de Andre Carlucci

Building a professional, maintainable rest api architecture with asp.net core...
Building a professional, maintainable rest api architecture with asp.net core...Building a professional, maintainable rest api architecture with asp.net core...
Building a professional, maintainable rest api architecture with asp.net core...Andre Carlucci
 
Controlando windows like a boss com Intel Real Sense SDK
Controlando windows like a boss com Intel Real Sense SDKControlando windows like a boss com Intel Real Sense SDK
Controlando windows like a boss com Intel Real Sense SDKAndre Carlucci
 
Controlando o windows like a boss com o Intel RealSense SDK
Controlando o windows like a boss com o Intel RealSense SDKControlando o windows like a boss com o Intel RealSense SDK
Controlando o windows like a boss com o Intel RealSense SDKAndre Carlucci
 
A nova Central de Notificações do Windows Phone
A nova Central de Notificações do Windows PhoneA nova Central de Notificações do Windows Phone
A nova Central de Notificações do Windows PhoneAndre Carlucci
 
O que é esse tal de OWIN?
O que é esse tal de OWIN?O que é esse tal de OWIN?
O que é esse tal de OWIN?Andre Carlucci
 
Trabalhe onde quiser! Ou como se dar bem em uma entrevista técnica.
Trabalhe onde quiser! Ou como se dar bem em uma entrevista técnica.Trabalhe onde quiser! Ou como se dar bem em uma entrevista técnica.
Trabalhe onde quiser! Ou como se dar bem em uma entrevista técnica.Andre Carlucci
 
Owin e o Projeto Katana
Owin e o Projeto KatanaOwin e o Projeto Katana
Owin e o Projeto KatanaAndre Carlucci
 
Obtendo o máximo do Bay Trail com Windows Store Apps
Obtendo o máximo do Bay Trail com Windows Store AppsObtendo o máximo do Bay Trail com Windows Store Apps
Obtendo o máximo do Bay Trail com Windows Store AppsAndre Carlucci
 
Compartilhando código entre Windows Phone e o Windows 8
Compartilhando código entre Windows Phone e o Windows 8Compartilhando código entre Windows Phone e o Windows 8
Compartilhando código entre Windows Phone e o Windows 8Andre Carlucci
 
O que diabos é arbejdsglaede?
O que diabos é arbejdsglaede?O que diabos é arbejdsglaede?
O que diabos é arbejdsglaede?Andre Carlucci
 
Desenvolvimento Ágil de Software
Desenvolvimento Ágil de SoftwareDesenvolvimento Ágil de Software
Desenvolvimento Ágil de SoftwareAndre Carlucci
 
Comunicação multiplataforma em tempo real com SignalR
Comunicação multiplataforma em tempo real com SignalRComunicação multiplataforma em tempo real com SignalR
Comunicação multiplataforma em tempo real com SignalRAndre Carlucci
 
Desenvolvimento Orientado a Testes
Desenvolvimento Orientado a TestesDesenvolvimento Orientado a Testes
Desenvolvimento Orientado a TestesAndre Carlucci
 
Introdução ao Windows Phone 7
Introdução ao Windows Phone 7Introdução ao Windows Phone 7
Introdução ao Windows Phone 7Andre Carlucci
 
Democracia corporativa
Democracia corporativaDemocracia corporativa
Democracia corporativaAndre Carlucci
 

Plus de Andre Carlucci (18)

Building a professional, maintainable rest api architecture with asp.net core...
Building a professional, maintainable rest api architecture with asp.net core...Building a professional, maintainable rest api architecture with asp.net core...
Building a professional, maintainable rest api architecture with asp.net core...
 
Controlando windows like a boss com Intel Real Sense SDK
Controlando windows like a boss com Intel Real Sense SDKControlando windows like a boss com Intel Real Sense SDK
Controlando windows like a boss com Intel Real Sense SDK
 
Controlando o windows like a boss com o Intel RealSense SDK
Controlando o windows like a boss com o Intel RealSense SDKControlando o windows like a boss com o Intel RealSense SDK
Controlando o windows like a boss com o Intel RealSense SDK
 
A nova Central de Notificações do Windows Phone
A nova Central de Notificações do Windows PhoneA nova Central de Notificações do Windows Phone
A nova Central de Notificações do Windows Phone
 
O que é esse tal de OWIN?
O que é esse tal de OWIN?O que é esse tal de OWIN?
O que é esse tal de OWIN?
 
Trabalhe onde quiser! Ou como se dar bem em uma entrevista técnica.
Trabalhe onde quiser! Ou como se dar bem em uma entrevista técnica.Trabalhe onde quiser! Ou como se dar bem em uma entrevista técnica.
Trabalhe onde quiser! Ou como se dar bem em uma entrevista técnica.
 
Owin e o Projeto Katana
Owin e o Projeto KatanaOwin e o Projeto Katana
Owin e o Projeto Katana
 
Nuget na sua_empresa
Nuget na sua_empresaNuget na sua_empresa
Nuget na sua_empresa
 
Obtendo o máximo do Bay Trail com Windows Store Apps
Obtendo o máximo do Bay Trail com Windows Store AppsObtendo o máximo do Bay Trail com Windows Store Apps
Obtendo o máximo do Bay Trail com Windows Store Apps
 
Compartilhando código entre Windows Phone e o Windows 8
Compartilhando código entre Windows Phone e o Windows 8Compartilhando código entre Windows Phone e o Windows 8
Compartilhando código entre Windows Phone e o Windows 8
 
O que diabos é arbejdsglaede?
O que diabos é arbejdsglaede?O que diabos é arbejdsglaede?
O que diabos é arbejdsglaede?
 
Desenvolvimento Ágil de Software
Desenvolvimento Ágil de SoftwareDesenvolvimento Ágil de Software
Desenvolvimento Ágil de Software
 
Comunicação multiplataforma em tempo real com SignalR
Comunicação multiplataforma em tempo real com SignalRComunicação multiplataforma em tempo real com SignalR
Comunicação multiplataforma em tempo real com SignalR
 
Desenvolvimento Orientado a Testes
Desenvolvimento Orientado a TestesDesenvolvimento Orientado a Testes
Desenvolvimento Orientado a Testes
 
Introdução ao Windows Phone 7
Introdução ao Windows Phone 7Introdução ao Windows Phone 7
Introdução ao Windows Phone 7
 
Workplace Democracy
Workplace DemocracyWorkplace Democracy
Workplace Democracy
 
Scaling silverlight
Scaling silverlightScaling silverlight
Scaling silverlight
 
Democracia corporativa
Democracia corporativaDemocracia corporativa
Democracia corporativa
 

Migrations .NET para atualizar bancos de dados