protected function primary($name, $type, array $options = [])
    {
        static::addColumn($name, $type, isset($options['map']) ? $options['map'] : $name);

        static::$metaDatasClass[static::class][MetaData::MODELS_PRIMARY_KEY][] = $name;
        static::$metaDatasClass[static::class][MetaData::MODELS_NOT_NULL][] = $name;

        if (
            (!isset($options['identity']) || $options['identity']) &&
            (!isset($options['multiple']) || !$options['multiple'])
        ) {
            static::$metaDatasClass[static::class][MetaData::MODELS_IDENTITY_COLUMN] = $name;
        }
        if (
            (!isset($options['autoIncrement']) || $options['autoIncrement']) &&
            (!isset($options['multiple']) || !$options['multiple'])
        ) {
            static::$metaDatasClass[static::class][MetaData::MODELS_AUTOMATIC_DEFAULT_INSERT][$name] = true;
        }
    }