Skip to main content

Module seed

Module seed 

Source
Expand description

Database seeding with execution tracking.

Provides the DatabaseSeeder trait, the DatabaseSeederRunner that runs seeders in dependency order inside a single transaction, the EntitySeeder helper for entity-specific seeders, and the __database_seeders tracking table (see ensure_table and entity).

Each seeder runs once: completed names are recorded in __database_seeders and skipped on later runs. Deletion runs in reverse order and removes the tracking rows.

use shared_framework::data::seed::DatabaseSeederRunner;

let runner = DatabaseSeederRunner::new().add(MySeeder);
runner.seed(&db).await?;

Re-exports§

pub use entity::Entity as SeederEntryEntity;
pub use entity::ModelEx as SeederEntryModel;
pub use entity::ActiveModel as SeederEntryActiveModel;
pub use entity::ModelEx as SeederEntry;
pub use DatabaseSeeder as RepositorySeeder;

Modules§

entity
Seeder tracking entity.

Structs§

DatabaseSeederRunner
Runs registered seeders in order inside a single transaction.
EntitySeeder
Helper marking an entity-specific seeder.

Traits§

DatabaseSeeder
Trait for database seeders.

Functions§

ensure_table
Creates the __database_seeders tracking table when missing.

Type Aliases§

DatabaseSeederHelper
Alias for DatabaseSeederRunner.
SeederRunnerDeprecated
Deprecated alias for DatabaseSeederRunner.