Methods To Create Database in CodeIgniter 4 Tutorial

Reading Time: 5 minutes

This lesson on several ways to create a database in CodeIgniter 4 is a very effective tutorial that will teach you how to create databases using the Database Forge Class and the Spark command.

Database administration is a critical component of developing powerful web apps as a CodeIgniter developer. In this tutorial, we will look at different approaches and methods for creating databases in CodeIgniter 4, allowing you to set up your database with ease and efficiency.

Read More: CodeIgniter 4 How to Print or Get Last Executed Query

This tutorial will give you with step-by-step instructions and best practises whether you prefer utilising the command-line interface, database management tools, or programmatically constructing databases.

Let’s get started.

CodeIgniter 4 Installation

To create a CodeIgniter 4 setup run this given command into your shell or terminal. Please make sure composer should be installed.

$ composer create-project codeigniter4/appstarter codeigniter-4

Assuming you have successfully installed application into your local system.

Environment (.env) Setup

When we install CodeIgniter 4, we will have env file at root. To use the environment variables means using variables at global scope we need to do env to .env

Either we can do via renaming file as simple as that. Also we can do by terminal command.

Open project in terminal

$ cp env .env

Above command will create a copy of env file to .env file. Now we are ready to use environment variables.

Enable Development Mode

CodeIgniter starts up in production mode by default. You need to make it in development mode to see any error if you are working with application.

Open .env file from root.

# CI_ENVIRONMENT = production

 // Do it to 
CI_ENVIRONMENT = development

Now application is in development mode.

Loading Database Forge Class

The Database Forge Class contains methods that help you manage your database.

If you work with Custom Library / Custom Helper then at first you need to create an instance of Database Forge class.

Read More: Convert Image To The Base64 String Using Javascript

Load the Forge Class as follows:

$forge = \Config\Database::forge();

If the database you wish to manage is not the default one, you may alternatively supply another database group name to the DB Forge loader:

$this->myforge = \Config\Database::forge('other_db');

Create Database Using Database Forge Class

You can access createDatabase method using Forge class instance. This will take database name as a parameter value and help you to create it.


It Returns true/false based on success or failure.


Let’s create a migration file and by which we will create database.

$ php spark make:migration create_my_database

It will create xxx_CreateMyDatabase.php inside app/Database/Migrations folder.


namespace App\Database\Migrations;

use CodeIgniter\Database\Migration;

class CreateMyDatabase extends Migration
    public function up()
            // Success message
            // Failure message

    public function down()

Next, run this command to execute this Migration file.

$ php spark migrate

It will create myDb database in your given connection values of PhpMyAdmin.

Read More: How To Get Multiple Checkbox Value In jQuery Tutorial

An optional second parameter set to true will add IF EXISTS statement or will check if a database exists before create it (depending on DBMS).

$forge->createDatabase('my_db', true);

Create Database Using Spark CLI Command

You can create database by using a special command of Spark CLI.

Back to project terminal and run this command.

$ php spark help db:create


$ php spark help db:create myDb

This will do the same functionality what we seen inside first case of database creation.

If you are on a testing environment or you are using the SQLite3 driver, you may pass in the file extension for the file where the database will be created using the –ext option

$ php spark db:create myDb --ext sqlite

Note*: While doing this operation make sure your application first connected with Database Driver.

More Learning

To drop a database from your connected database driver, you can use this dropDatabase() of Database Forge class.

You can access to this method by creating an instance of it.


We hope this article helped you to learn about Methods To Create Database in CodeIgniter 4 Tutorial in a very detailed way.

Read More: ChatGpt Api: A Comprehensive Guide

Online Web Tutor invites you to try Skillshike! Learn CakePHP, Laravel, CodeIgniter, Node Js, MySQL, Authentication, RESTful Web Services, etc into a depth level. Master the Coding Skills to Become an Expert in PHP Web Development. So, Search your favourite course and enroll now.

If you liked this article, then please subscribe to our YouTube Channel for PHP & it’s framework, WordPress, Node Js video tutorials. You can also find us on Twitter and Facebook.