[php] PHP CodeIgniter 데이터베이스 시딩

이번 포스트에서는 PHP CodeIgniter 프레임워크에서 데이터베이스 시딩(Database Seeding)을 어떻게 하는지에 대해 알아보겠습니다. 데이터베이스 시딩은 테스트용 더미 데이터를 데이터베이스에 쉽게 추가할 수 있는 기능입니다.

1. 데이터베이스 시딩 클래스 생성

우선, 데이터베이스 시딩을 위한 클래스를 생성합니다. 이 클래스는 seeds 폴더에 위치해야 합니다.

<?php
// application/database/seeds/MySeeds.php
class MySeeds extends Seeder {
    public function run() {
        // 시딩할 데이터를 정의
        $data = [
            [
                'title' => 'First Post',
                'content' => 'This is the first post content.',
            ],
            [
                'title' => 'Second Post',
                'content' => 'This is the second post content.',
            ]
        ];

        // 데이터베이스에 시딩
        $this->db->table('posts')->insertBatch($data);
    }
}
?>

위의 코드는 MySeeds 클래스를 생성하고, run 메서드를 정의하여 시딩할 데이터를 데이터베이스에 추가하는 예시입니다. 이 메서드 안에서 시딩할 데이터를 정의하고, 데이터베이스의 insertBatch 메서드를 사용하여 데이터를 추가합니다.

2. 데이터베이스 시딩 실행

시딩 클래스를 생성한 후, 이를 실행하여 데이터베이스에 데이터를 추가할 수 있습니다. 이를 위해 터미널에서 아래의 명령어를 실행합니다.

php spark db:seed MySeeds

위의 명령어는 MySeeds 클래스를 실행하여 데이터베이스에 시딩할 수 있도록 합니다.

결론

이제 PHP CodeIgniter에서 데이터베이스 시딩을 위한 클래스를 생성하고 실행하는 방법에 대해 알아보았습니다. 데이터베이스 시딩을 통해 더미 데이터를 데이터베이스에 쉽게 추가할 수 있어, 효율적인 테스트 및 개발 환경 구축에 도움이 될 것입니다.


참고 문헌: