Skip to content

Seeders

You can create seeders if you want to create items automatically.

Let's create a file post.ts in the directory named src/app/seeders.

./src/db/seeders/post.ts
import { BaseSeeder } from "@fehujs/database"
import { Post } from "../../app/models/post"


export class PostSeeder extends BaseSeeder {
    readonly name = "create_initial_post"

    public async run() {
        await Post.create({
            id: Date.now(),
            title: "created by seeder",
            content: "this is a post created by the seeder"
        })
    }
}

Now, register the seeder (as for migrations, if your seeder is located in ./src/db/seeders, it will be loaded automatically), otherwise:

// ...

const seeders: Record<string, BaseSeeder> = {
    ...await loadAndInstanciateSeeders(),
    "create_initial_post": new PostSeeder()
}
// ...

Then run node fcli seeders create_initial_post.

Note

You must specify the seeder key to run the seeder.