Buku Tamu

//—-Kode Buku Tamu anda di sini—–

Menggunakan migration codeigniter 2x

Tidak ada komentar
Selamat malam sahabat blogger. wah sudah lama sekali saya tidak pernah membuka blog ini, rasanya kangen, jadinya saya buka lagi deh......
ok, kali ini saya ingin sharing dengan teman-teman yang sedang belajar codeigniter. sekarang saya akan membahas mengenai migration, apa sebenarnya fungsi dari migration dan bagaimana cara menggunakannya.
so, cekidot.....

fungsi migrasi adalah untuk memanagemen tabel dalam database

mari kita lihat bagaimana cara membuatnya.
sebelumnya pastikan kita sudah membuat database baru di localhost. misal namanya adalah coba
buat folder baru beranama development dalam folder aplication/config kemudian cut file database.php yang ada dalam folder aplication/config
seperti ini
kemudian ubah file database.php menjadi seperti berikut ini
//============================================================
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
| -------------------------------------------------------------------
| DATABASE CONNECTIVITY SETTINGS
| -------------------------------------------------------------------
| This file will contain the settings needed to access your database.
|
| For complete instructions please consult the 'Database Connection'
| page of the User Guide.
|
| -------------------------------------------------------------------
| EXPLANATION OF VARIABLES
| -------------------------------------------------------------------
|
| ['hostname'] The hostname of your database server.
| ['username'] The username used to connect to the database
| ['password'] The password used to connect to the database
| ['database'] The name of the database you want to connect to
| ['dbdriver'] The database type. ie: mysql.  Currently supported:
 mysql, mysqli, postgre, odbc, mssql, sqlite, oci8
| ['dbprefix'] You can add an optional prefix, which will be added
|  to the table name when using the  Active Record class
| ['pconnect'] TRUE/FALSE - Whether to use a persistent connection
| ['db_debug'] TRUE/FALSE - Whether database errors should be displayed.
| ['cache_on'] TRUE/FALSE - Enables/disables query caching
| ['cachedir'] The path to the folder where cache files should be stored
| ['char_set'] The character set used in communicating with the database
| ['dbcollat'] The character collation used in communicating with the database
|  NOTE: For MySQL and MySQLi databases, this setting is only used
 as a backup if your server is running PHP < 5.2.3 or MySQL < 5.0.7
|  (and in table creation queries made with DB Forge).
 There is an incompatibility in PHP with mysql_real_escape_string() which
 can make your site vulnerable to SQL injection if you are using a
 multi-byte character set and are running versions lower than these.
 Sites using Latin-1 or UTF-8 database character set and collation are unaffected.
| ['swap_pre'] A default table prefix that should be swapped with the dbprefix
| ['autoinit'] Whether or not to automatically initialize the database.
| ['stricton'] TRUE/FALSE - forces 'Strict Mode' connections
| - good for ensuring strict SQL while developing
|
| The $active_group variable lets you choose which connection group to
| make active.  By default there is only one group (the 'default' group).
|
| The $active_record variables lets you determine whether or not to load
| the active record class
*/

$active_group = 'default';
$active_record = TRUE;

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'gua';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = FALSE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = TRUE;


/* End of file database.php */
/* Location: ./application/config/database.php */
//========================================================




















migration.php
//========================================================
<?php defined('BASEPATH') OR exit('No direct script access allowed');
/*
|--------------------------------------------------------------------------
| Enable/Disable Migrations
|--------------------------------------------------------------------------
|
| Migrations are disabled by default but should be enabled
| whenever you intend to do a schema migration.
|
*/
$config['migration_enabled'] = TRUE;


/*
|--------------------------------------------------------------------------
| Migrations version
|--------------------------------------------------------------------------
|
| This is used to set migration version that the file system should be on.
| If you run $this->migration->latest() this is the version that schema will
| be upgraded / downgraded to.
|
*/
$config['migration_version'] = 1;


/*
|--------------------------------------------------------------------------
| Migrations Path
|--------------------------------------------------------------------------
|
| Path to your migrations folder.
| Typically, it will be within your application path.
| Also, writing permission is required within the migrations path.
|
*/
$config['migration_path'] = APPPATH . 'migrations/';


/* End of file migration.php */
/* Location: ./application/config/migration.php */
//=======================================================



















//=======================================================
<?php
class Migration_Create_users extends CI_Migration {

public function up()
{
$this->dbforge->add_field(array(
'id' => array(
'type' => 'INT',
'constraint' => 11,
'unsigned' => TRUE,
'auto_increment' => TRUE
),
'email' => array(
'type' => 'VARCHAR',
'constraint' => '100',
),
'password' => array(
'type' => 'VARCHAR',
'constraint' => '128',
),
'name' => array(
'type' => 'VARCHAR',
'constraint' => '100',
),
));
$this->dbforge->add_key('id');
$this->dbforge->create_table('users');
}

public function down()
{
$this->dbforge->drop_table('users');
}
}
?>
//==============================================================









//==============================================================
<?php
class Migration extends CI_Controller
{

public function __construct ()
{
parent::__construct();
}

public function index ()
{
$this->load->library('migration');
if (! $this->migration->current()) {
show_error($this->migration->error_string());
}
else {
echo 'Migration worked!';
}

}
}
?>
//==================================================









Tidak ada komentar :

Posting Komentar