This logic is messy.  Again, see comment on Dialect#doesIndexNameRequireColumnNames()