The current implementation create tables in the order they were added to the metadata.
It obliges the user to add the tables in the right order, which can become cumbersome on big models.
Moreover, in case of cross-referenced tables, the table creation will fail altogether, when it should defer the foreign key constraints creation.