I don't really see a need to create some complex whirlygig to replace simply writing out the SQL to create the tables. One vital piece of information that is missing from a hash's key value pair is the data type for each column. If this is your first stab at working with a database, I would keep it as simple as possible.