Как в Waterline мы можем указать типы, скажем, DECIMAL(10,2) для валюты? Я вижу, что мы можем дать ему десятичный тип, но при этом будет использоваться информация о длине по умолчанию - как мы ограничиваем размер полей? Я понимаю, что некоторые базы данных не поддерживают длины и т. д., но это, конечно же, не означает, что мы не можем разрешить указывать их для тех, которые поддерживают.
Укажите параметры длины для атрибутов в Waterline ORM
Ответы (1)
Вы можете ограничить размер полей в целом, используя «размер», например:
attributes: {
name: {
type: 'string',
size: 255
}
}
И это отлично работает для строк .... Не могу говорить о других адаптерах, но я предполагаю, что у них будет такая же проблема, но с адаптером паруса-mysql нет простого способа сделать это, насколько я могу видеть.
Просто взгляните на паруса-mysql/lib/sql.js (функция sqlTypeCast()) и посмотрите, что они делают для строк по сравнению с тем, что они делают для чисел с плавающей запятой.
Вы всегда можете внедрить свой адаптер, внедрить пользовательское правило или изменить БД вручную, если вам нужно, чтобы это отражалось в схеме.
Надеюсь, это поможет :)
person
rei
schedule
04.02.2014