Generate CodeIgniter 3.x Migrations from an existing database, including indexes and foreign keys! When all goes well it will create a file under migrations called 001_create_base.php under your migrations folder
1: Enable migrations and set version to 1;
2: Create and Enable to write migration folder application/migrations;
3: Clone repository to your library folder (/application/library);
git clone [email protected]:fastworkx/ci_migrations_generator.git
4: In controller:
    function make_base(){
        $this->load->library('ci_migrations_generator/Sqltoci');
        // All Tables:
        $this->sqltoci->generate();
        //Single Table:
        $this->sqltoci->generate('table');
    }5: You'll get something like this applications/migration/001_create_base.php.
<?php defined('BASEPATH') OR exit('No direct script access allowed');
class Migration_create_base extends CI_Migration {
	public function up() {
        
        ## Create Table sis_customer
		$this->dbforge->add_field(array(
			'id' => array(
				'type' => 'VARCHAR',
				'constraint' => 40,
				'null' => FALSE,
			),
			'ip_address' => array(
				'type' => 'VARCHAR',
				'constraint' => 45,
				'null' => FALSE,
			),
			'timestamp' => array(
				'type' => 'INT',
				'unsigned' => TRUE,
				'null' => FALSE,
				'default' => '0',
			),
			'data' => array(
				'type' => 'BLOB',
				'null' => FALSE,
			),
			'`datetime_reg` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ',
		));
		$this->dbforge->create_table("sessions", TRUE);
		$this->db->query('ALTER TABLE  `sessions` ENGINE = InnoDB');
		));
	public function down()	{
        ### Drop table sessions ##
		$this->dbforge->drop_table("sessions", TRUE);
	}
}It's an improve of repository liaan/codeigniter_migration_base_generation;