Saya spasi ketika mengetik nama bidang dan sekarang nama mesin tidak seperti yang saya inginkan. Saya tahu ini hanya gangguan. tapi saya bertanya-tanya apakah ada cara untuk mengubah nama mesin dari suatu bidang setelah dibuat.
Saya kira ini menuntun saya ke bagian kedua dari pertanyaan saya. jika saya membuat bidang, dan itu tidak lagi digunakan, bagaimana cara menghapusnya, apakah ini harus dilakukan dari database, atau dapat dilakukan di suatu tempat di UI.
Prosedur saya adalah menggunakan drush untuk mengkloning bidang terlebih dahulu, lalu menyalin data bidang dengan permintaan DB ke tabel bidang baru. Setelah saya memverifikasi konten bidang yang dikloning, saya menghapus bidang asli.
Saya melakukannya dengan cara ini karena saya pikir metode drush dari bidang kloning akan selalu paling tidak dapat diandalkan seperti kode kloning yang saya buat sendiri, permintaan salinan data cukup sederhana, dan saya bisa memeriksa bidang baru sebelum menghapus yang asli .
drush field-clone field_my_field field_my_field_clone
field_my_field_clone
, misalnya,INSERT field_my_field_clone SELECT * FROM field_my_field;
field_my_field_clone
.admin/structure/types/manage/my-content-type/fields
sumber
drush field-delete xxx
dan Anda juga bisa seperti yangdrush sql-query
disarankan oleh neubreed. @ zkent, Anda akan memiliki tautan ulang bidang baru di tampilan yang ada, panel, dll.Di Drupal 7, Anda bisa menggunakan modul Ganti Nama Field . Di Drupal 6, Anda dapat menggunakan modul ganti nama bidang CCK .
sumber
Saya telah menulis skrip pembaruan, yang benar-benar membuat bidang baru dan contoh dengan nama mesin baru, menyalin semua data bidang lama ke yang baru dan terakhir menghapus contoh lama.
sumber
Saya hanya harus melakukan ini, dan ternyata tidak terlalu sulit, tetapi situs saya cukup sederhana.
Coba ini:
(tukar [NAMA MESIN BARU] dan [NAMA MESIN TUA] dengan
field_your_field_names
)/admin/reports/fields/views-fields
sumber
// Ubah nama tabel penyimpanan bidang. Di sini kita mengubah nama tabel lama dengan nama baru.
// Ubah nama bidang dalam tabel field_config dan field_instance_config.
sumber
Dengan jawaban klon-bidang drush di atas, Anda dapat melakukan langkah MySQL terakhir dengan Drush juga (contoh D7):
sumber
Jika Anda tidak ingin bermain-main di mysql, Anda dapat mencoba skrip drush yang saya tulis disebut Salinan nilai bidang.
Anda harus mengatur bidang baru Anda terlebih dahulu dan kemudian menelepon
Ini akan memindahkan data yang ada ke bidang baru setelah selesai menghapus bidang yang lama.
sumber
Fungsi db_change_field () dapat membantu Anda.
sumber
Ekspor file SQL dari database Anda, gunakan baris perintah
sed
untuk mengganti semua kemunculan istilah untuk berubah, dan impor kembali database Anda.sumber