Postgres.go file has filtering which does not consider "text" value to be set as a primary key:
if c.Primary {
switch c.ColType {
case "string", "uuid": // make sure that we don't fall into default
case "integer", "INT", "int":
c.ColType = "SERIAL"
case "bigint", "BIGINT":
c.ColType = "BIGSERIAL"
default:
return "", fmt.Errorf("can not use %s as a primary key", c.ColType)
}
}