Upload
imasters
View
89
Download
0
Tags:
Embed Size (px)
Citation preview
secrets.yml
# Make sure the secrets in this file are kept private# if you're sharing your code publicly.
development: secret_key_base: 1a1fd4fc0512b46ea449d07
test: secret_key_base: 1ffde16fcf1e55737cd8a60
# Do not keep production secrets in the repository,# instead read values from the environment.production: secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
Complicações• Setup mais complexo
• Difícil de controlar as variaveis
• Workaround config/secrets.yml.sample
Recomendado# config/secrets.yml
# Do not keep production secrets in the repository,# instead read values from the environment.production: secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
Complicações• Você não tem a representação do banco de
dados atual
• Precisa sempre executar sempre todas migrations
• O número de arquivos na pasta de migrations cresce muito rápido.
• Isso é lento :(
Complicações• Precisa manter manualmente todas suas
migrations
• A pasta tende a ficar com muitos arquivos antigos
• Migrations muito antigas tendem a quebrar ou não fazerem mais sentido
• Remoção/Adição de tabelas, colunas e models por exemplo
• O rake db:setup perde sua importância.
Na maioria dos casos• Sua aplicação em produção só precisa das
migrations novas
• Um database novo só precisa do rake db:setup
rake db:setup
rake db:create # Cria o banco de dadosrake db:structure:load # Carrega a estrutura do structure.sqlrake db:seed # Carrega os dados
rake db:structure:load
• Permite carregar a estrutura atual do banco de dados.
• Não há necessidade executar todas migrations
• Bem mais rápido!
structure.sql
• O git diff é difícil de revisar
• ¯\_(�)_/¯
• Conflitos difíceis de resolver
• Melhor ter esses conflitos em desenvolvimento do que em produção