public function addForeign($column, $options = []) {
        if (is_string($options)) {
            $options = ['references' => $options];
        }

        if (empty($options['references'])) {
            throw new InvalidArgumentException(sprintf('Foreign key for %s must reference an external table', $column));
        }

        $this->_foreignKeys[$column] = $options + [
            'column' => $column,
            'constraint' => ''
        ];
    }