Saya ingin menyisipkan bidang baru untuk tabel database di ekstensi kustom saya menggunakan skema peningkatan dengan mengikuti posting ini , tetapi saya mendapat kesalahan yang mengatakan:
[Zend_Db_Statement_Exception]
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'Category Depth.l
ime_eleveniacategory' doesn't exist, query was: DESCRIBE `Category Depth`.`
lime_eleveniacategory`
ini kode saya:
namespace Test\TestAgain\Setup;
use Magento\Framework\Setup\UpgradeSchemaInterface;
use Magento\Framework\Setup\ModuleContextInterface;
use Magento\Framework\Setup\SchemaSetupInterface;
class UpgradeSchema implements UpgradeSchemaInterface
{
/**
* {@inheritdoc}
*/
public function upgrade(
SchemaSetupInterface $setup,
ModuleContextInterface $context
) {
$setup->startSetup();
if (version_compare($context->getVersion(), "1.0.0", "<")) {
//Your upgrade script
}
if (version_compare($context->getVersion(), '1.0.1', '<')) {
$tableName = $setup->getTable('lime_eleveniacategory');
if ($setup->getConnection()->isTableExists($tableName) == true) {
$connection = $setup->getConnection();
$connection->addColumn(
$tableName,
'category_depth',
['type' => \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER,'nullable' => false, 'afters' => 'category_name'],
'Category Depth'
);
}
}
$setup->endSetup();
}
}
magento2
database
upgradeschema
Shell Suite
sumber
sumber
Jawaban:
Anda bisa mendapatkan detail lebih lanjut di sini juga, tabel Upgrade Database
sumber
Satu hal lagi yang harus dilakukan di sini. Perbarui
module.xml
versi. Dan tingkatkan pengaturan, lakukan pengindeksan ulang dan hapus cache. Itu akan berhasil.sumber
Untuk menambahkan beberapa kolom
sumber
Saya mencoba ini
ATAU
Catatan: Jika Anda menghadapi masalah apa pun, itu mungkin karena modul yang sudah Anda instal. Seperti yang Anda ketahui, jika modul sudah diinstal maka setup: perintah upgrade tidak menginstal skema. Anda perlu melihat ke dalam tabel setup_module Anda, menghapus modul Anda dari tabel dan menjalankan kembali setup bin / magento php: perintah upgrade.
sumber