Site icon iGoPayGO

Codeigniter 4+ – Database Migrations

Diagram of CodeIgniter 4 database migrations folder and migration files with a database icon.

Visualizing organized database migrations in CodeIgniter 4.

🚀 The Complete Guide They Forgot to Write

Making the jump from CodeIgniter 3 to 4? You’re not alone! Like many developers, I was drawn in by CodeIgniter 4’s modern, organized structure. But when it came to database migrations, I quickly hit a wall—the official docs are thin, and community resources are often outdated or confusing.

Having only dabbled with migrations in Ruby before, I always skipped them in CodeIgniter 3. But with CI4, I knew it was time to dive in—especially since solid migrations are essential for reliable testing and database version control in any serious project.

The Challenge: What does CodeIgniter 4 expect your migration table to look like?

It sounds simple, but the documentation just… isn’t there. After hours of piecing together forum posts, GitHub issues, and source code, I finally cracked the puzzle.

This guide is here to save you the same headache:

If you’ve been stuck, frustrated, or just want a no-BS answer on CodeIgniter 4 Migrations, you’re in the right place.

CodeIgniter 4+ Migration Table Schema (MySQL/MariaDB)

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

— Table structure for migrations

DROP TABLE IF EXISTS migrations;

CREATE TABLE migrations (

id int(11) NOT NULL AUTO_INCREMENT,

name varchar(255) DEFAULT NULL,

version varchar(255) DEFAULT NULL,

group varchar(255) DEFAULT NULL,

batch int(11) DEFAULT NULL,

class varchar(255) DEFAULT NULL,

namespace varchar(255) DEFAULT NULL,

time int(11) DEFAULT NULL,

PRIMARY KEY (id)

) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;

More details and full migration can be found at GitHub

Exit mobile version