回答:
をご覧くださいMage_Eav_Model_Entity_Setup::removeAttribute()
。2つの引数を取ります。1つ目はエンティティコードで、2つ目は属性コードです。
編集-非インストールスコープから実行するには:
<?php
include 'app/Mage.php';
Mage::app();
$setup = Mage::getResourceModel('catalog/setup','catalog_setup');
$setup->removeAttribute('catalog_product','attr_code');
catalog/setup
with customer/setup
、catalog_setup
with customer_setup
、およびcatalog_product
with と交換し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');
、このコードを別のファイルで使用する方法はありますか?ルートフォルダー(Magentoの場所)にファイルを配置してindex.php
、Webブラウザーでスクリプトを呼び出すことができるようにしますexample.com/delete_attributes.php/
。私を正しい方向に向けることができますか?