Kelly Mears

Seed Data

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

Data & Content2 min read206 words13 out · 10 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 also13

Database Migration

A versioned, ordered change to a database schema, applied once and recorded.

Data & Content20 connections

Test Fixture

The prepared data or state a test runs against.

Testing & Verification16 connections

Idempotence

The property that performing an operation twice has the same effect as performing it once.

Systems & Tooling34 connections

Relational Database

Data organized as tables with declared relationships, queried declaratively and guarded by constraints.

Data & Content21 connections

Write-Ahead Logging

Recording the intent of a change durably before applying it, so a crash can be recovered.

Computation & Algorithms20 connections

Hash Table

A key-value structure that uses a digest of the key to index an array of buckets.

Computation & Algorithms23 connections

Accessibility

Designing so that people with disabilities can use a thing, and the standards that make it checkable.

Design & Interface44 connections

Determinism

The property that identical inputs produce identical outputs, and the foundation of caching and verification.

Systems & Tooling61 connections

Lorem Ipsum

The scrambled Latin filler typesetters and designers use to show a layout before the real words exist, useful for judging type and dangerous because it hides what real content will do to the design.

Design & Interface6 connections

Foreign Key

A column that points at a row in another table, with the database refusing any change that would leave the pointer dangling.

Data & Content11 connections

Empty State

What an interface shows when there is nothing to show yet, a screen often designed last that is many people's first impression.

Design & Interface11 connections

Test Data Builder

Helpers that build valid test objects from sensible defaults so each test states only the fields it cares about, and the Object Mother pattern they grew out of.

Testing & Verification9 connections

CSV

The plain-text table format of rows separated by line breaks and fields separated by commas, universal and simple until quoting, encoding, and spreadsheets get involved.

Data & Content7 connections

Linked from10