It surprises me that no SQL database to my knowledge has polymorphic joins as a first-class feature.
A polymorphic join is where a fk contains not just an id but an indicator of which table it refers to. So you could
havea "tags" table, that can attach tags to any of a variety of other tables. Rails handles this by including the table
nameas a string.
This seems a reasonable thing to want to do, and it seems that the database could handle it by combining the fields
fromthe target tables in the result.
I also think migrations ought to be a first-class feature…