code: function (name, table, opts) {
              opts = opts;
              if (Array.isArray(name)) {
                  return this.__addCompositeForeignKey(name, table, opts);
              } else {
                  return this.addColumn(name, this.db.defaultPrimaryKeyType, merge({table:table}, opts));
              }
          }
docs: Add a foreign key with the given name and referencing the given table
  to the DDL for the table.  See {@link patio.SchemaGenerator#column}
  for the available options.
  
  You can also pass an array of column names for creating composite foreign
  keys. In this case, it will assume the columns exists and will only add
  the constraint.
  
  NOTE: If you need to add a foreign key constraint to a single existing column
  use the composite key syntax even if it is only one column.
  @example
  DB.alterTable("albums", function(){
  this.addForeignKey("artist_id", "table");
  //=>ADD COLUMN artist_id integer REFERENCES table
  this.addForeignKey(["name"], "table")
  //=>ADD FOREIGN KEY (name) REFERENCES table
  });