Kelly Mears

Seed Data

Initial content created programmatically to make an empty system usable or demonstrable.

Data & Content2 min read206 words6 out · 4 in
also calledSeedingDemo content

Seed data is content generated to populate a fresh environment: an administrative account, reference data a system cannot function without, and demonstration content that makes the product show what it does.

It divides into two kinds with different requirements. Essential seeds are required for the system to work and belong to the deployment path, which means they must be idempotent and safe to run against a database that may already have them. Demonstration seeds exist for development and sales and can be as elaborate as anyone likes, provided they never run in production.

Two lessons repeat.

Seed content is real content for review purposes. Nobody reviews it as such, so errors in it live a long time. Descriptive text written from an intended image rather than the actual one passes every automated check — a type checker sees a string, a request returns success for any valid identifier, and an accessibility scan verifies only that alternative text exists, never that it describes anything. The only check is looking.

Seeds encode a data model that will change. Content authored against an earlier model is not portable to a later one by copying; it is re-authoring. Treating a large seed as a migratable asset underestimates the work considerably.

See also4

Hand-picked in the note itself — the neighbours worth reading next.

Related2

Nearby in the graph rather than deliberately chosen. Looser, sometimes surprising.

Linked from4

Notes elsewhere in the wiki that reach for this one.