Este é basicamente um repost desta pergunta, que não deu uma resposta satisfatória.
Estou terminando o projeto de um banco de dados usando um diagrama EER. Agora quero encaminhar o engenheiro e importar o banco de dados para um banco de dados de trabalho. Em seguida, usarei o phpMyAdmin para começar a adicionar dados e codificar o site.
Agora, durante a codificação, qual é a melhor maneira de fazer as alterações necessárias na estrutura do banco de dados? É a única maneira de exportar do phpmyadmin e importar no MySQL Workbench? Em caso afirmativo, como ele lida com as linhas existentes quando adiciono/removo colunas? E, quando chegar a hora de reencaminhá-lo e importá-lo via phpmyadmin, todos os meus dados ainda estarão lá?
Como você lida com isso?
Esta é uma opinião discutível, de experiência pessoal limitada.
Acredito que foi o Workbench que estragou o processo de engenharia de ida e volta várias vezes. Não me lembro de todos os detalhes, mas certamente sincronizou mais objetos do que realmente mudou. Ele excluiu silenciosamente alguns dados algumas vezes. E às vezes gerava SQL que o servidor rejeitava. Era um banco de dados de desenvolvimento, nada demais, especialmente em comparação com os benefícios. Mas na produção prefiro evitar ficar à mercê de tal ferramenta.
A experiência de algumas outras pessoas foi semelhante, por exemplo, problema de sincronização de modelo/fonte do MySQL Workbench
Portanto, para um banco de dados de produção, pode haver riscos, incluindo a perda de seus dados. Eu ficaria com o phpmyadmin e faria a sincronização de volta ao modelo, sempre verificando o que o Workbench faria. Mantendo o modelo apenas para referência.
O MySQL Workbench usa sincronização bidirecional que permite enviar quaisquer alterações em seu modelo para o servidor e, ao mesmo tempo, obter qualquer alteração do servidor em seu modelo. A caixa de diálogo usada para esse processo permite fazer alterações individuais ou até mesmo reverter a direção. Use o menu Banco de Dados -> Sincronizar Modelo... para esta tarefa.