gus*_*967 29 postgresql string-length node.js sequelize.js
我想在sequelize中定义一个数据类型的长度.有我的源代码:
var Profile = sequelize.define('profile', {
public_id: Sequelize.STRING,
label: Sequelize.STRING
})
Run Code Online (Sandbox Code Playgroud)
它使用带有数据类型varchar(255)的public_id创建表概要文件.
我想用varchar(32)定义一个public_id.
我在doc和堆栈上搜索但找不到任何答案......
我该怎么办?
Szy*_*ski 48
正如文档中提到的那样,使用:
Sequelize.STRING(32)
Run Code Online (Sandbox Code Playgroud)
首先,我认为你需要重新考虑一下你的设计.基本点是长度约束应该是有意义的,而不仅仅是为了节省空间.PostgreSQL不存储'A':: varchar(10)与'A':: text(两者都存储为可变长度文本字符串,只要存储的值,以及长度说明符和其他一些存储)元数据),因此您应该使用可以为您工作的最长大小,并使用长度进行实质性实施而不是节省空间.如有疑问,请不要约束.当您需要确保它适合邮寄标签时,请适当约束.
其次Dankohn的答案如下:
var Profile = sequelize.define('PublicID', {
public_id: {
validate: { len: [0,32] })
Run Code Online (Sandbox Code Playgroud)
是你如何将这种强制执行添加到前端.同样,这样的强制执行应该基于你所知道你需要的东西,而不仅仅是当时看起来好主意的东西,虽然通常更容易放松约束而不是收紧它们,但是对于字符串长度来说,它真的是一个明智的选择.以另一种方式做事.
至于在其他应用程序中使用它,您可能希望在系统目录中查找约束信息,这会使您进入某种高级区域.
| 归档时间: |
|
| 查看次数: |
21904 次 |
| 最近记录: |