Generating SQL
You can use EOModeler to create a model from scratch (that is, to create a model that's not initialized from an existing database), and then use that model to generate the SQL necessary to create a database. You can also edit a model for an existing database and generate SQL statements from the model that can be used to regenerate the database with the new settings.