Nguyên tắc đầu tiên của Magento là: Không bao giờ chỉnh sửa cơ sở dữ liệu trực tiếp.
Tôi thừa nhận rằng tôi đã phá vỡ quy tắc này trong nhiều trường hợp, vì vậy ...
bạn có thể xóa các thuộc tính khỏi eav_attribute
, các ràng buộc với ON DELETE CASCADE
sẽ dọn sạch phần còn lại của các bảng.
Nhưng tôi vẫn nghĩ bạn nên làm theo cách sạch sẽ:
$attributeId = 55;
Mage::getModel('catalog/resource_eav_attribute')->load($attributeId)->delete();
Sẽ không mất nhiều thời gian và bạn sẽ cảm thấy bình yên với chính mình vì bạn đã không phá vỡ các quy tắc.
Việc bạn chọn phương thức nào không quan trọng, nhưng sao lưu DB của bạn, trong cả hai trường hợp.
$installer->removeAttribute('catalog_product', 'my_attribute1');
hoặc$installer->removeAttribute('catalog_category', 'my_attribute2');
Nhưng có cách nào để sử dụng mã này trong một tệp riêng không? Tôi muốn đặt tệp vào thư mục gốc (nơi Magento'sindex.php
), để có thể gọi tập lệnh trong trình duyệt web :example.com/delete_attributes.php/
. Bạn có thể chỉ cho mình hướng chính xác được không?