Magento – Upgrade Sql Setup Module

Magento – Upgrade Sql Setup Module

Magento – Upgrade Sql Setup Module

Saya asumsikan anda sudah membaca artikel terdahulu tentang ‘Setup SQL Magento Modul‘ . Sekarang kita sudah mempunyai module dengan nama Modulku dengan versi 0.1.0. Anda ingin menambahkan table atau menambahkan field pada database module anda.  Anda sudah mempunyai  file  mysql4-install-0.1.0.php (mysql setup file) di Modulku/sql/modulku_setup folder.

  1. Buat sebual file baru di dalam folder Modulku/sql/modulku_setup dengan nama mysql4-upgrade-0.1.0-0.1.1.php. Format penulisannya adalah mysql4-upgrade-CURRENT_VERSION-UPGRADED_VERSION.php
  2. Tulisakan sintak sql untuk upgrade atau membuat table baru.
    <?php
    
    $installer = $this;
    
    $installer->startSetup();
    
    $installer->run("
    
    script upgrade anda
    
    ");
    $installer->endSetup();
    
  3. Buka file config.xml di Modulku/etc/config.xml. Ubah versi module 0.1.0 menjadi 0.1.1 
    <?xml version="1.0"?>
    <config>
    
    <modules>
    <Adisthana_Modulku>
    <version>0.1.1</version>
    </Adisthana_Modulku>
    </modules>
    
    
  4. Refresh website dan selesai.

Magento – Module sql setup/install

Apa yang dimaksud dengan sql setup/install pada Magento?
Ketika anda ingin membuat module baru atau mengedit modul yang sudah ada mungkin anda perlu untuk menambah atau membuat sebuah tabel baru pada database. Nah, pada magento sudah disediakan layanan untuk membuat/ mengedit tabel dengan installer script.

Membuat installer/sql setup
Untuk membuat sql setup pada magento sangatlah mudah. Dengan beberapa langkah anda sudah bisa membuat tabel/ field baru pada database anda.

1. Buka file app/etc/modules/Modulku.xml (Disini nama modul yang akan saya setup adalah custom modul : Modulku)

<?xml version="1.0"?>
<config>
  <modules>
    <Adisthana_Modulku>
      <active>true</active>
        <codePool>local</codePool>
    </Adisthana_Modulku>
  </modules>
</config>
 

2. Buka file dan definisikan setup anda di /app/code/local/Adisthana/Modulku/etc/config.xml

<?xml version="1.0"?>
<config>

  <modules>
    <Adisthana_Modulku>
      <version>0.1.0</version>
    </Adisthana_Modulku>
  </modules>

  <global>
    <resources>

      <!-- Declaring module setup handler -->
      <!-- [start] -->
      <modulku_setup>
        <setup>
          <module>Adisthana_Modulku</module>
        </setup>
        <connection>
          <use>core_setup</use>
        </connection>
      </modulku_setup>
      <!-- [End] -->

      <modulku_write>
        <connection>
          <use>core_write</use>
        </connection>
      </modulku_write>

      <modulku_read>
        <connection>
          <use>core_read</use>
        </connection>
      </modulku_read>

    </resources>
  </global>
</config>
 

3. Tuliskan installer anda di Modulku/sql/modulku_setup/mysql4-install-0.1.0.php

<?php

  $installer = $this;

  $installer->startSetup();

  $installer->run("

CREATE TABLE IF NOT EXISTS {$this->getTable('adis')} (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `id_customer` varchar(30) NOT NULL,
  `address` varchar(200) NOT NULL,
  `city` varchar(50) NOT NULL,
  `state` varchar(50) NOT NULL,
  `zip` varchar(10) NOT NULL,
  `telp_number` varchar(20) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
");

  $installer->endSetup();

4. Selesai. Simple dan mudah kan? 😀

5. Untuk upgrade sql setup anda bisa baca disini