我如何定义Sequelize.STRING的长度?
我想在sequelize中定义一个数据types的长度。 有我的源代码:
var Profile = sequelize.define('profile', { public_id: Sequelize.STRING, label: Sequelize.STRING })
它创build一个带有数据types为varchar(255)的public_id的表格configuration文件。
我想用varchar(32)定义一个public_id。
我search了文档和堆栈,但找不到任何答案…
我该怎么做?
如文档中所述,使用:
Sequelize.STRING(32)
首先,我认为你需要重新考虑一下你的devise。 基本的观点是长度的限制应该是有意义的,而不是为了节省空间。 PostgreSQL不会将“A”:: varchar(10)存储为与“A”:: text不同的值(两者都作为可变长度的文本string存储,只要存储的值与长度说明符一起存储元数据),所以你应该使用最长的大小,可以为你工作,并使用长度的实质性执法,而不是节省空间。 如有疑问,请勿约束。 当您需要确保它适合邮寄标签时,请适当限制。
其次丹科的回答如下:
var Profile = sequelize.define('PublicID', { public_id: { validate: { len: [0,32] })
是你如何将这种强制执行添加到前端。 同样,这种执法应该基于你知道你需要的东西,而不仅仅是当时看起来是个好主意的东西,虽然放松约束比放松约束容易一些,但是对于string长度来说,这实在是一件容易的事以其他方式做事。
至于在其他应用程序中使用这种方法,您可能需要在系统目录中查找约束信息,从而使您进入某种高级领域。