Migration merupakan standar tool modern untuk membuat skema database, dan secara default suda ada di php framework modern seperti laravel atau yii2. Ini merupakan topik lanjutan yang mungkin tidak disediakan di dokumentasi bawaan framework, jika ada waktu nanti saya buat materi dasar bagaimana menggunakan migration di yii2 framework. Show Ada kalanya anda sudah membuat desain skema database menggunakan mysql workbench, dan sekaligus anda mengisi initial data di dalam workbench tersebut (masuk ke dalam tab “Inserts”), contoh seperti pada gambar dibawah, tabel tbl_chart_of_account yang berisi 90 row data awal. Gambar 1. Skema database untuk tbl_chart_of_account yang memiliki initial dataSelanjutnya anda perlu membuat migration untuk create tbl_chart_of_account tersebut (tidak saya bahas disini), baru kemudian anda membuat migration untuk insert data di tbl_chart_of_account yang berisi template migration kosongan. yii migrate/create insert_data_chart_of_account Selanjutnya buka file yang sudah digenerate tadi, seperti ini isi template kosongannya: <?php use yii\db\Migration; /** * Class m221026_055425_insert_data_chart_of_account */ class m221026_055425_insert_data_chart_of_account extends Migration { /** * {@inheritdoc} */ public function safeUp() { } /** * {@inheritdoc} */ public function safeDown() { } /* // Use up()/down() to run migration code without a transaction. public function up() { } public function down() { echo "m221026_055425_insert_data_chart_of_account cannot be reverted.\n"; return false; } */ } Buat satu baris untuk batchInsert terlebih dahulu sebagai bahan acuan: public function safeUp() { $this->batchInsert('{{%chart_of_account}}', ['kode_akun', 'parent_id', 'id_group_coa', 'nama_akun_transaksi', 'keterangan', 'level', 'postable', 'no_rekening', 'check_account', 'manual_account', 'created_at', 'updated_at', 'created_by', 'updated_by'], [ ['1000000', '', '1', 'ASSETS', 'Header', '1', '0', '', '0', '', date('Y-m-d H:i:s'), date('Y-m-d H:i:s'), 1, 1], ]); } Selanjutnya kembali ke mysql workbench, pilih menu export Gambar 2. Export initial data pada mysql workbench tbl_chart_of_accountAnda bisa memilih format “csv ; separated” Gambar 3. Memilih format CSV : separatedBuka file tadi di excel, kemudian pada kolom terakhir, baris data pertama paste kan value awal dari kode awal pada fungsi safeUp() sebelumnya Gambar 4. Paste value awal sebagai string acuanSelanjutnya ubah menjadi rumus, ini perlu sedikit melakukan trial-error. Anda hanya perlu menggunakan rumus concat text pada excel yaitu dengan rumus Jika sudah benar antara formula dengan tampilan hasil formula tersebut, selanjutnya anda tinggal drag untuk meng-copy rumus tersebut untuk semua row. Gambar 6. Drag dan copy ke semua row yang ada datanyaLangkah terakhir, copy hasil semua row tadi, dan pastekan ke fungsi safeUp yang tadi, sisipkan, sehingga kode akhir menjadi contoh seperti berikut: Kebanyakan pemula masih sering salah dan kurang ngeh tentang database. Mereka kira phpMyAdmin adalah database itu sendiri. Padahal bukan, ia hanyalah sebatas aplikasi database client berbasis web saja. Yang database itu ya MySQL atau MariaDB. Dan kedua database tersebut tidak mesti harus di-manage menggunakan phpMyAdmin. Banyak alternatif lain yang bisa kita gunakan. Atau bahkan kita juga bisa langsung memanfaat aplikasi client default yang bersifat CLI tanpa harus menggunakan aplikasi pihak ketiga. Bayangkan kalau kita ternyata lagi wawancara kerja. Lalu ditanya-tanya seputar database dan kita jawab bahwa kita pakai database phpMyAdmin? Waah, bisa-bisa kita dicap cupu banget atau dianggap masih sangat junior. Bahkan itu bisa menjadi faktor utama kenapa kita gagal direkrut! Nah, untuk menghindari hal-hal seperti ini, kita harus memperluas wawasan. Apa saja sih aplikasi yang bisa kita pakai selain phpMyAdmin? Berikut ini adalah 5 list top aplikasi alternatif mysql client selain phpMyAdmin. MySQL WorkbenchYang pertama adalah MySQL Workbench. Ini adalah mysql database client satu-satunya yang dikembangkan resmi oleh MySQL [1].Aplikasi ini sangat direkomendasikan. Anda akan mendapatkan beberapa keuntungan jika menggunakan MySQL Workbench. Gambar 1: MySQL Workbench sedang membuka Visual Database Design Kelebihan
Harga
Situs Resmi
DBeaverDBeaver adalah database client dengan campaign: free universal database tool and SQL client [2]. DBeaver cukup populer di kalangan pengguna linux bahkan ia sudah tersedia di toko aplikasi snap store. Tidak hanya itu, DBeaver juga memiliki lebih dari 11.7k bintang di Github pada saat artikel ini ditulis. Gambar 3: DBeaver design database schema Kelebihan Di antara kelebihan yang ditawarkan oleh DBeaver adalah:
Harga
Situs Resmi:
HeidiSQLHeidiSQL adalah software database client gratis dengan tampilan yang indah dan mudah dipelajari. Support berbagai macam database server. Dan HeidiSQL dianggap salah satu tool paling populer untuk MariaDB dan MySQL [3]. Gambar 6: Tangkapan layar HeidiSQL Kelebihan Kelebihan yang kita dapatkan dari HeidiSQL:
Harga:
Situs Resmi:
Navicat for MySQLNavicat for MySQL adalah sebuah database tool yang bisa digunakan oleh Database Admin mau pun developer. Software ini seperti namanya, hanya mendukung MariaDB, MySQL dan database cloud [4]. Akan tetapi Navicat sendiri memiliki berbagai macam produk yang berkaitan dengan database, salah satunya untuk MySQL client (Navicat for MySQL), untuk PostgreSQL (Navicat for PostgreSQL), untuk MongoDB (Navicat for MongoDB) dan juga produk-produk software yang lain. Gambar 7: Navicat for MySQL Yang perlu kita ketahui adalah, Navicat memiliki banyak customer dari perusahaan raksasa dunia semisal: Google, Apple, Adobe, Samsung, Facebook, Sony, Nvdia, Netflix, Microsoft, Ebay dan sebagainya [5]. Ngeri bukan? Kelebihan
Harga
Situs Resmi
AdminerYang terakhir dan yang saya gunakan sehari-hari adalah Adminer. Adminer adalah database client yang hanya menggunakan single PHP file! Dukungan yang diberikan oleh adminer pun bukan hanya MySQL atau MariaDB saja, tapi ia juga memberikan dukungan terhadap: PostgreSQL, SQlite, dan lainnya. Gambar 8: Adminer sedang membuka database schema Dan adminer adalah projek open source, dikembangkan oleh komunitas. Anda pun bisa untuk turut berkontribusi dengan mengunjungi repositori resmi mereka di github. Pada saat artikel ini ditulis, mereka telah memiliki lebih dari 3.9k jumlah bintang. Kelebihan
Harga
Situs Resmi
Jadi.. masih mau pakai phpMyAdmin?Setelah melihat 5 produk alternatif dari phpMyAdmin di atas, apakah anda masih tetap keukeuh ingin bertahan dengan phpMyAdmin? Atau justru ingin menggunakan software yang lain? Hmmm.. pilihan terserah pada anda. Kalau bagi saya pribadi, saya lebih suka untuk menggunakan software yang berbeda dari umumnya orang, apalagi kalau kita lagi presentasi di depan yang lain. MySQL Workbench buat apa?MySQL Workbench adalah sebuah perangkat aplikasi berbentuk visual yang dipergunakan untuk mengelola basis data. Perangkat aplikasi ini biasa digunakan oleh seorang arsitek basis data, pengembang basis data, serta administator basis data.
Langkah kerja MySQL?Bagaimana Cara Kerja MySQL?. MySQL membuat database untuk menyimpan dan memanipulasi data, serta menentukan keterkaitan antara masing-masing tabel.. Client membuat permintaan (request) dengan mengetikkan pernyataan SQL yang spesifik di MySQL.. Aplikasi server akan merespons dengan memberikan informasi yang diminta.. MySQL pakai bahasa apa?Database MySQL merupakan suatu perangkat lunak database yang berbentuk database relasional atau disebut Relational Database Management System ( RDBMS ) yang menggunakan suatu bahasa permintaan yang bernama SQL (Structured Query Language ).
MySQL masuk ke dalam jenis apa?Seperti yang sudah disinggung di atas, MySQL masuk ke dalam jenis RDBMS (Relational Database Management System). Maka dari itu, istilah semacam baris, kolom, tabel, dipakai pada aplikasi database ini. Contohnya di dalam MySQL sebuah database terdapat satu atau beberapa tabel.
|