답변:
참조하십시오 Mage_Eav_Model_Entity_Setup::removeAttribute()
. 두 개의 인수가 필요합니다. 첫 번째는 엔티티 코드이고 두 번째는 속성 코드입니다.
편집- 비 설치 범위에서 실행합니다.
<?php
include 'app/Mage.php';
Mage::app();
$setup = Mage::getResourceModel('catalog/setup','catalog_setup');
$setup->removeAttribute('catalog_product','attr_code');
catalog/setup
와 customer/setup
, catalog_setup
와 customer_setup
,와 catalog_product
함께 customer
.
Magento의 첫 번째 규칙은 다음과 같습니다. 데이터베이스를 직접 편집하지 마십시오.
그래서 ... 나는 여러 차례에이 규칙을 위반 인정
당신의 속성을 삭제할 수 eav_attribute
에 제약을 ON DELETE CASCADE
정리 테이블의 나머지해야한다.
그러나 나는 여전히 당신이 깨끗한 길을 택해야한다고 생각합니다.
$attributeId = 55;
Mage::getModel('catalog/resource_eav_attribute')->load($attributeId)->delete();
오래 걸리지 않아야하며 규칙을 어 기지 않았기 때문에 자신과 평화롭게 지낼 것입니다.
어떤 방법을 선택하든 중요하지 않지만 두 경우 모두 DB 백업이 필요합니다.
DELETE FROM eav_attribute WHERE eav_attribute.attribute_code = "my_attribute";
$installer->removeAttribute('catalog_product', 'my_attribute1');
또는$installer->removeAttribute('catalog_category', 'my_attribute2');
이 코드를 별도의 파일로 사용하는 방법이 있습니까?index.php
웹 브라우저에서 스크립트를 호출 할 수 있도록 파일을 루트 폴더 (Magento 's ) 에 배치하고 싶습니다example.com/delete_attributes.php/
. 올바른 방향으로 나를 가리킬 수 있습니까?