How do you version-control the database schema?

writeups

Commercial solutions

Open source solutions

some ORM systems have a migrator built-in

do it manually

Create your own roll-forward and rollback scripts, by hand. Requires some amount of testing.

It's best to keep a schema_version table with the database, that records which specific schema-changes have already been applied to that database. [1]