Adotei basicamente duas escolas de pensamento aqui (uma terceira escola de pensamento, fazendo diferenças de banco de dados, não discutirei porque a complexidade é bastante alta).
1) Implante eliminando o banco de dados de produção e importando um mysqldump do banco de dados de desenvolvimento. Opcionalmente, execute um regex find / replace antecipadamente em qualquer link absoluto codificado que faça referência ao URL do desenvolvedor no dump SQL. Após importar o dev db para o prod, execute automaticamente as instruções SQL (geralmente via script) posteriormente para alterar as configurações diferentes para prod do que dev (por exemplo, talvez você tenha na tabela de variáveis algumas configurações de conexão para conectar-se a sistemas externos que você precisa mude para apontar para sistemas externos de prod em vez de para a versão dev).
2) Use o módulo Recursos , conforme mencionado pela budda, para configurações de administrador e use o módulo Exportação de nó para exportação / importação de conteúdo em combinação com o módulo Excluir tudo . Portanto, o fluxo de trabalho é:
- use node_export e recursos para exportar nós / recursos para arquivos
- Controle de versão opcional (e esperançosamente)
- Carregar arquivos no sistema prod
- Use a interface drush ou admin para carregar recursos
- Use a interface drush delete-all ou admin para excluir todos os nós dos tipos que você deseja importar
- Use drush ne-import ou a interface administrativa para importar os nós do arquivo que você exportou.
Uma observação, eu sugeriria a adoção de um fluxo de trabalho padrão, onde o conteúdo segue apenas uma direção. Dev -> Prod ou Prod -> Dev (eu prefiro este).
Eu fiz isso e estou fazendo isso em alguns sistemas grandes, com resultados razoavelmente bons, mas sempre haverá muitas maneiras de fatiar esta maçã, escolha a maneira que funcionar melhor para você.