Agile Data

Configuration Management of Database Assets: An Agile Core Practice

Follow @scottwambler on Twitter!

Sometimes a change to your system proves to be a very bad idea and you need to roll back that change to the previous state. For example, renaming the Customer.FName column to Customer.FirstName might break 50 external programs, and the cost to update those programs may prove to be too great for now. To enable evolutionary database development you need to put the following items under configuration management control:
  • Data definition language (DDL) scripts to create the database schema
  • Data load/extract scripts
  • Data model files
  • Object/relational mapping meta data
  • Reference data
  • Stored procedure and trigger definitions
  • View definitions
  • Referential integrity constraints
  • Other database objects like sequences, indexes etc.
  • Test data
  • Test data generation scripts
  • Test scripts