Update nested struct with Ecto

I just tested it and it wraped the insert in a transaction. if one of subsequent operations fails, it rolls back the previous changes.