Blog

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? :D

5. Untuk upgrade sql setup anda bisa baca disini