When it comes to application development, having test data available is essential. Seeders in Lithe provide an easy and efficient way to populate your database with initial or test data, allowing you to focus on your application logic. In this post, we will explore how to create and use seeders in Lithe.
What are Seeders?
Seeders are classes responsible for automatically inserting data into the database. They are especially useful during development when you need dummy data to test functionalities and application behavior. With seeders, you can ensure that your application has the necessary data without the need for manual insertions.
Creating Seeders
In Lithe, you can easily create seeders using the make:seeder
command. This command generates a new seeder file in the src/database/seeders
directory, where you can define the logic to insert the desired data.
Command to Create a Seeder
To create a new seeder, simply run the following command in the terminal:
php line make:seeder SeederName
Where:
-
SeederName
: is the name of the seeder to be created.
Structure of a Seeder
A seeder generated in Lithe has the following basic structure:
class SeederName
{
public function run($db): void
{
// Logic to insert data into the database
}
}
Here, the run
method is responsible for inserting the data. The $db
parameter can be any type of database connection supported by Lithe, making seeders flexible for different contexts.
Example Seeder
Let’s look at an example of a seeder that creates records in the users
table:
class CreateUsersSeeder
{
public function run($db): void
{
$users = [
['name' => 'John Doe', 'email' => 'john@example.com'],
['name' => 'Jane Doe', 'email' => 'jane@example.com'],
];
foreach ($users as $user) {
// Logic to insert each user into the table
$db->query("INSERT INTO users (name, email) VALUES ('{$user['name']}', '{$user['email']}')");
}
}
}
Running Seeders
After creating your seeders, you can execute them to populate your database with test data.
Running All Seeders
To run all seeders at once, use the command:
php line db:seed
Running a Specific Seeder
If you want to run only a specific seeder, use the db:seed
command with the --class
option:
php line db:seed --class=SeederName
Conclusion
Seeders are a powerful tool in Lithe for facilitating the population of your database with test data. With the simplicity of creating and running seeders, you can ensure that your application is always ready for development and testing.
Explore the features of Lithe and make the most of seeders to create high-quality PHP applications!
Top comments (3)
I hope someday there will be a youtube tutorial in this framework from database connection to CRUD.
I completely agree! A YouTube tutorial that covers everything from database connection to CRUD operations would be extremely helpful. It would aid many developers in better understanding the framework and how to use it. I hope we can see something like that soon!
Thank you so much for the fast response Sir/Dev.