Almost every table in a typical relational database contains a primary key that is unique for every tuple. Such a key can be build from one or more columns. DBMonster is able to generate key using flexible key generators. Currently only MaxKeyGenerator and StringKeyGenerator are supported in default DBMonster distribution. If you need another key generator you must write it on your own. See the example of schema file for details on how to configure MaxKeyGenerator and StringKeyGenerator.

StringKeyGenerator produces strings of fixed length. The strings consist of lower case letters [a-z]. Default value is "aaaaaaaa" (8 x a) which offers quite a big key space at level of 208.827.064.576 unique keys ;).

As of v.0.3.3 the key has an optional attribute "databaseDefault" which allows you to define that DBMonster should skip this key and let the database to insert default values (Useful for MySQL auto_increment columns or serial in PostgreSQL).