설치 스크립트를 통해 기존 Magento 코어 테이블에 새 열을 추가하려면 어떻게해야합니까? (순수한 SQL을 사용하지 않고)
별칭 메서드를 사용하여 설치 스크립트를 만드는 Magento 방식을 사용하고 싶습니다.
지금까지 몇 가지 자습서를 따랐습니다. 그러나 제대로 작동하지 않는 것 같습니다. SQL 응답 을 사용하지 않고 Magento 설정 스크립트 의이 StackOverflow ALTER TABLE은 내 질문과 다소 유사했습니다. 그러나 내용은 모듈의 confg.xml
파일에 무엇을 넣어야 합니까? 자원 모델을 정의해야합니까, 모델 및 설정 데이터로 충분합니까?
config.xml
내 모듈 의 관련 부분은 다음과 같습니다.
<config>
. . .
<global>
<models>
<mymodule>
<class>Mynamespace_Mymodule_Model</class>
<resourceModel>mymodule_resource</resourceModel>
</mymodule>
<mymodule_resource>
<class>Mynamespace_Mymodule_Model_Resource</class>
</mymodule_resource>
</models>
<resources>
<mymodule_setup>
<setup>
<module>Mynamespace_Mymodule</module>
</setup>
<connection>
<use>core_setup</use>
</connection>
</mymodule_setup>
<mymodule_read>
<connection>
<use>core_read</use>
</connection>
</mymodule_read>
<mymodule_write>
<connection>
<use>core_write</use>
</connection>
</mymodule_write>
</resources>
. . . .
</config>
그리고 내 설치 스크립트는 다음과 같습니다.
$installer = $this;
$installer->startSetup();
$installer->getConnection()
->addColumn($installer->getTable('sales_flat_order'),'custom_value', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255, array(
'nullable' => false,
), 'Title');
$installer->endSetup();
그러나 다음과 같은 오류가 발생합니다.
SQLSTATE [42S02] : 기본 테이블 또는 뷰를 찾을 수 없습니다 : 1146 '255.sales_flat_order'테이블이 없습니다.
이 문제를 해결하기위한 제안이 있으면 감사하겠습니다.
255
입니까?