Data Seeder
Seeds a database component with data before tasks run. Seeders without dependsOn run in parallel. Use dependsOn to chain seeders that must run in a specific order.
Fields
Section titled “Fields”| Field | Type | Required | Description |
|---|---|---|---|
targetName | string | Yes | Name of the database component to seed |
file | string | No | Path to a SQL file, relative to repo root |
url | string | No | URL to an external dataset |
targetTable | string | No | Target table (required for some dataset formats) |
name | string | No | Unique name. Required when referenced in another seeder’s dependsOn |
dependsOn | string[] | No | List of seeder name values that must complete before this one runs |
Either file or url must be set. Only seeders with a name field can be referenced in dependsOn.
Examples
Section titled “Examples”All seeders run in parallel (no dependencies):
[[dataseeder]]url = "https://example.com/users.csv"targetName = "db"targetTable = "users"
[[dataseeder]]url = "https://example.com/products.csv"targetName = "db"targetTable = "products"Linear chain — schema must complete before products, products before reviews:
[[dataseeder]]name = "seed-schema"file = ".nurburgdev/schema.sql"targetName = "db"
[[dataseeder]]name = "seed-products"url = "https://example.com/products.csv"targetName = "db"targetTable = "products"dependsOn = ["seed-schema"]
[[dataseeder]]name = "seed-reviews"url = "https://example.com/reviews.csv"targetName = "db"targetTable = "product_reviews"dependsOn = ["seed-products"]Fan-in — two independent seeders must complete before a third:
[[dataseeder]]name = "seed-users"url = "https://example.com/users.csv"targetName = "db"targetTable = "users"
[[dataseeder]]name = "seed-products"url = "https://example.com/products.csv"targetName = "db"targetTable = "products"
[[dataseeder]]name = "seed-orders"url = "https://example.com/orders.csv"targetName = "db"targetTable = "orders"dependsOn = ["seed-users", "seed-products"]