punya satu pertanyaan, baru-baru ini saya sedang mengembangkan satu modul dengan banyak tabel di DB, dan konsep sering berubah, jadi perlu mengubah tabel yang ada di DB, dan saya melihat perbedaan dalam pembuatan skrip tabel dan peningkatan tabel. Ini dia Lihat membuat kode tabel di bawah ini:
$table = $installer->getConnection()
->newTable($installer->getTable('module/table'))
->addColumn('id', Varien_Db_Ddl_Table::TYPE_INTEGER, 9, array(
'nullable' => false,
'primary' => true,
'identity' => true,
'auto_increment' => true
)
);
fungsi newTable () mengembalikan instance dari Varien_Db_Ddl_Table Dan memutakhirkan skrip tabel menggunakan cara berbeda untuk menambahkan kolom baru ke tabel yang ada, lihat:
$installer->getConnection()
->addColumn($tableName, 'test', array(
'nullable' => false,
'length' => 9,
'type' => Varien_Db_Ddl_Table::TYPE_INTEGER,
'comment' => 'Test Field'
)
)
dua fungsi addColumn ini berbeda dan juga mereka adalah metode kelas yang berbeda, dan mereka membuat saya sedih setiap kali saya perlu mengubah sintaks.
Jadi di sini ada pertanyaan, apakah ada cara untuk memperbarui tabel yang ada menggunakan instance dari kelas Varien_Db_Ddl_Table ?
Jika itu dalam lingkup proyek Anda mungkin ingin melihat perubahan ke model EAV jika model tersebut sangat sering berubah seperti yang Anda sebutkan. Ini dapat menghemat masalah membingungkan migrasi data bolak-balik. Berikut adalah artikel yang menjelaskan dasar-dasar EAV di Magento sehingga Anda dapat mengevaluasinya dan memutuskan apakah sesuai untuk proyek Anda.
sumber