I would agree with you that "text and a constraint" is a lot better than just text; and would be functionally equivalent to varchar(n). It does requires the reader to look into each constraint to know what’s going on. Also, when porting the schema to a different database engine and the create table statement fails because it’s too wide and doesn’t fit on a page; the end result is having to go back and redefine the text fields as varchar(n)/char(n) anyway. |