Làm cách nào tôi có thể thêm một cột mới vào bảng lõi Magento hiện có thông qua tập lệnh cài đặt? (không sử dụng SQL thuần túy)
Tôi muốn sử dụng cách Magento sử dụng các phương thức bí danh để tạo tập lệnh cài đặt.
Cho đến nay tôi đã làm theo vài hướng dẫn. Nhưng dường như không hoạt động đúng. StackOverflow ALTER TABLE này trong tập lệnh thiết lập Magento mà không sử dụng câu trả lời SQL có phần giống với câu hỏi của tôi. Nhưng nội dung nên được đưa vào confg.xml
tập tin mô-đun là gì? Tôi có cần chỉ cần xác định mô hình tài nguyên, mô hình và dữ liệu thiết lập là đủ?
Phần có liên quan của config.xml
(mô-đun của tôi) như sau.
<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>
Và kịch bản cài đặt của tôi là như sau.
$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();
Nhưng tôi đang nhận được lỗi sau.
SQLSTATE [42S02]: Không tìm thấy bảng cơ sở hoặc chế độ xem: 1146 Bảng '255.sales_flat_order' không tồn tại
Bất kỳ đề nghị để khắc phục điều này sẽ được đánh giá cao.
255
?