Post on 24-Jan-2017
Presumimos que você já ...
● Conhece o que é versionamento
● Utiliza alguma ferramenta/técnica de automação
● Faz isso em seu database
Introdução ...
Não iremos falar de NoSQL ...
Não temos nenhuma “bala de prata” ...
… mas iremos apresentar dicas legais sobre deploy em RDBMS 24x7
AFINAL REQUISITOS MUDAM ...
ALTERAÇÃO BÁSICA ...
ALTER TABLE “tabela_mais_acessada_e_mais_gigante”ADD “sabe_de_nada_inocente” BIGINT DEFAULT 69;
ALTER TABLE “tabela_mais_acessada_e_mais_gigante”ADD “sabe_de_nada_inocente” BIGINT DEFAULT 69;
LEMBRAM DA ALTERAÇÃO BÁSICA?
O QUE É IMPORTANTE ENTENDER ...
● Criação de nova coluna “sabe_de_nada_inocente”
● Update gradual dos registros existentes para o valor default “69”
● Definição do valor default para novos registros “69”
ALTER TABLE “tabela_mais_acessada_e_mais_gigante”ADD “sabe_de_nada_inocente” BIGINT;
UPDATE “tabela_mais_acessada_e_mais_gigante” SET “sabe_de_nada_inocente” = 69 WHERE “id” BETWEEN 1 AND 10000... WHERE “id” BETWEEN 10001 AND 20000...
ALTER TABLE “tabela_mais_acessada_e_mais_gigante”ALTER “sabe_de_nada_inocente” SET DEFAULT 69;
LEMBRAM DA ALTERAÇÃO BÁSICA?
ALGUMAS OUTRAS DICAS ...
● Uso de triggers (INSERT / UPDATE)
● Criação de novas colunas ao invés de modificação de tipos
● Deploy especifíco para remoção de objetos Sufixo TO_DROP ...