When the model differ detects a new table it creates a CreateTableOperation, and AddForeignKeyOperations, CreateIndexOperations for its foreign keys, respectively indexes. The table passed to the constructor of CreateTableOperation is the target table. The DatabaseModelModifier incorrectly adds this table to the cloned database model. Instead it should add a clone of the target table that does not include foreign keys and indexes since these are handled separately.

Made public the Clone methods from the database model.
Migrations: Write script to .sql file (Fixes #420)