我如何定义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长度来说,这实在是一件容易的事以其他方式做事。
至于在其他应用程序中使用这种方法,您可能需要在系统目录中查找约束信息,从而使您进入某种高级领域。
- 如何使用Passport.js facebook策略进行身份validation后使用Facebook Graph API?
- 如何为具有构造函数的复杂外部commonjs模块(如imap)编写TypeScript声明文件?
- 从Socket.IO中删除端口并更改目录
- Node.js:在正常的工作stream程中抛出exception是否可行?
- PubSub的性能成本/ JavaScript中的过多事件和事件处理程序?
- 基于Cookie的WebSockets的负载平衡?
- phantomjs在访问aws-sdk时找不到节点模块“encryption”
- NodeJS dropzone软件包的安装
- NodeJS + Android,Socket.io聊天,应用程序在离开聊天室的用户崩溃