lib/database/schemaGenerators.js
function (name) {
            if (Array.isArray(name)) {
                return this.__compositePrimaryKey.apply(this, arguments);
            } else {
                var args = argsToArray(arguments, 1), type;
                var opts = args.pop();
                this.__primaryKey = merge({}, this.db.serialPrimaryKeyOptions, {name:name}, opts);
                if (isDefined((type = args.pop()))) {
                    merge(opts, {type:type});
                }
                merge(this.__primaryKey, opts);
                return this.__primaryKey;
            }
        }
function (name) {
            if (Array.isArray(name)) {
                return this.__compositePrimaryKey.apply(this, arguments);
            } else {
                var args = argsToArray(arguments, 1), type;
                var opts = args.pop();
                this.__primaryKey = merge({}, this.db.serialPrimaryKeyOptions, {name:name}, opts);
                if (isDefined((type = args.pop()))) {
                    merge(opts, {type:type});
                }
                merge(this.__primaryKey, opts);
                return this.__primaryKey;
            }
        }
function ( name ) { if ( Array . isArray ( name ) ) { return this . __compositePrimaryKey . apply ( this , arguments ) ; } else { var args = argsToArray ( arguments , 1 ) , type ; var opts = args . pop ( ) ; this . __primaryKey = merge ( { } , this . db . serialPrimaryKeyOptions , { name : name } , opts ) ; if ( isDefined ( ( type = args . pop ( ) ) ) ) { merge ( opts , { type : type } ) ; } merge ( this . __primaryKey , opts ) ; return this . __primaryKey ; } }
Adds an auto-incrementing primary key column or a primary key constraint to the DDL.
To create a constraint, the first argument should be an array of columns
specifying the primary key columns. To create an auto-incrementing primary key
column, a single column can be used. In both cases, an options hash can be used
as the second argument.

If you want to create a primary key column that is not auto-incrementing, you
should not use this method.  Instead, you should use the regular {@link patio.SchemaGenerator#column}
method with a {primaryKey : true} option.

@example
db.createTable("airplane_type", function () {
this.primaryKey("id");
//=> id integer NOT NULL PRIMARY KEY AUTOINCREMENT
this.name(String, {allowNull:false});
this.max_seats(Number, {size:3, allowNull:false});
this.company(String, {allowNull:false});
});
Adds an auto - incrementing primary key column or a primary key constraint to the DDL . To create a constraint the first argument should be an array of columns specifying the primary key columns . To create an auto - incrementing primary key column a single column can be used . In both cases an options hash can be used as the second argument .