Eu espaçava enquanto digitava o nome do campo e agora o nome da máquina não é o que eu queria que fosse. Eu sei que é apenas um aborrecimento. mas estou me perguntando se existe alguma maneira de alterar o nome da máquina de um campo depois que ele é criado.
Suponho que isso me leve à segunda parte da minha pergunta. se eu criei um campo e ele não está mais sendo usado, como faço para excluí-lo, isso precisa ser feito no banco de dados ou em algum lugar da interface do usuário.
Meu procedimento é usar drush para clonar o campo primeiro e depois copiar os dados do campo com consultas de banco de dados na nova tabela de campos. Depois de verificar o conteúdo do campo clonado, excluo o campo original.
Faço-o desta maneira porque acho que o método drush de clonagem de campos sempre será pelo menos tão confiável quanto qualquer código de clonagem que eu possa criar, a consulta de cópia de dados é bastante simples e devo verificar o novo campo antes de excluir o original .
drush field-clone field_my_field field_my_field_clone
field_my_field_clone
, por exemplo,INSERT field_my_field_clone SELECT * FROM field_my_field;
field_my_field_clone
.admin/structure/types/manage/my-content-type/fields
fonte
drush field-delete xxx
e também poderá gostar,drush sql-query
conforme sugerido por neubreed. @zkent, você vai ter de te ligar novamente o novo campo nas vistas, painéis existentes, etc.No Drupal 7, você pode usar o módulo Renomear Campo . No Drupal 6, você pode usar o módulo de renomeação de campo CCK .
fonte
Eu escrevi um script de atualização, que na verdade cria um novo campo e instância com o novo nome da máquina, copia todos os dados antigos do campo para o novo e, por fim, exclui a instância antiga.
fonte
Eu só tinha que fazer isso e achei que não era muito difícil, mas meu site é bastante simples.
Tente o seguinte:
(troque [NEW MACHNIE NAME] e [OLD MACHINE NAME] por
field_your_field_names
)/admin/reports/fields/views-fields
fonte
// Altere os nomes da tabela de armazenamento de campo. Aqui estamos alterando o nome da tabela antiga com o novo nome.
// Altere os nomes dos campos nas tabelas field_config e field_instance_config.
fonte
Com a resposta clone de campo drush acima, você pode executar a última etapa do MySQL com Drush também (exemplo D7):
fonte
Se você não quiser mexer no mysql, tente um script drush que escrevi chamado Field value copy.
Você precisará configurar seu novo campo primeiro e depois chamar
Isso moverá os dados existentes para o novo campo, uma vez feito, exclua o campo antigo.
fonte
A função db_change_field () pode ajudá-lo.
fonte
Exporte o arquivo SQL do seu banco de dados, use a linha de comandos
sed
para substituir todas as ocorrências do termo a ser alterado e reimporte seu banco de dados.fonte