Migrations are a convenient way for you to alter your database in a
structured and organized manner. You could edit fragments of SQL by hand
but you would then be responsible for telling other developers that they
need to go and run them. You would also have to keep track of which changes
need to be run against the production machines next time you deploy.

The database table migration tracks which migrations have already been
run so all you have to do is update your application files and
call $this->migration->current() to work out which migrations should be run.
The current version is found in application/config/migration.php.

Each Migration is run in numeric order forward or backwards depending on the
method taken. Two numbering styles are available:

Sequential: each migration is numbered in sequence, starting with 001.
Each number must be three digits, and there must not be any gaps in the
sequence. (This was the numbering scheme prior to CodeIgniter 3.0.)

Timestamp: each migration is numbered using the timestamp when the migration
was created, in YYYYMMDDHHIISS format (e.g. 20121031100537). This
helps prevent numbering conflicts when working in a team environment, and is
the preferred scheme in CodeIgniter 3.0 and later.

The desired style may be selected using the $config['migration_type']
setting in your application/config/migration.php file.

Regardless of which numbering style you choose to use, prefix your migration
files with the migration number followed by an underscore and a descriptive
name for the migration. For example: