Foreign Key, NOT NULL, Text indexes

Regular indexes don't end in '_idx'. Varchar and Text fields have a second index (ending in '_like') under PostgreSQL.
Added Foreign Key support to new fields.
Added NOT NULL support to new fields.