SailsJS – ¿Cómo especificar la longitud del atributo de cadena sin obtener un error al crear el registro?

Estoy usando Sails 0.9.8 emparejado con MySQL y con ganas de hacer algo como esto

localhost:1337/player/view/ 

en lugar de

 localhost:1337/player/view/ 

Así que puse algo como esto en el modelo:

 'username' : { type: 'string', unique: true, minLength: 4, maxLength: 32, required: true }, 

Pero tengo un error cada vez que corro velas levante:

 { [Error: ER_TOO_LONG_KEY: Specified key was too long; max key length is 767 bytes] code: 'ER_TOO_LONG_KEY', index: 0 } 

Entonces, después de ejecutar los módulos, descubrí que era porque, de forma predeterminada, Sails asignaba al atributo de tipo cadena una longitud de 255 en la base de datos. La longitud dada se puede anular con ‘tamaño’, pero causa otro error al crear un registro.

 'username' : { type: 'string', unique: true, minLength: 4, maxLength: 32, size: 32, required: true }, 

El error causado al crear un registro:

 Error: Unknown rule: size at Object.match (npm\node_modules\sails\node_modules\waterline\node_modules\anchor\lib\match.js:50:9) at Anchor.to (\npm\node_modules\sails\node_modules\waterline\node_modules\anchor\index.js:76:45) at \npm\node_modules\sails\node_modules\waterline\lib\waterline\core\validations.js:137:33 

La pregunta es, ¿cómo especifico el tamaño de la columna de cadena (para que pueda usar la clave única) sin obtener un error al crear un registro?

Podría solucionar este problema definiendo reglas de validación personalizadas a través del objeto de tipos. Específicamente, el problema dado podría resolverse definiendo un validador de size personalizado que siempre devuelva verdadero.

 // api/models/player.js module.exports = { types: { size: function() { return true; } }, attributes: { username: { type: 'string', unique: true, minLength: 4, maxLength: 32, size: 32, required: true } } } 

La respuesta marcada es tranquila de edad. Según la última versión de velas (1.0.2 a partir de la fecha de escritura de esta respuesta),

Utilicé el atributo columnType como este:

 attributes: { longDescription: { type: 'string', columnType: 'text' } }