Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String knex.js+;pg指定varchar为>;255_String_Postgresql_Knex.js_Varchar_Postgresql 9.4 - Fatal编程技术网

String knex.js+;pg指定varchar为>;255

String knex.js+;pg指定varchar为>;255,string,postgresql,knex.js,varchar,postgresql-9.4,String,Postgresql,Knex.js,Varchar,Postgresql 9.4,在knex migrations中创建表时,我指出了一个列: table.string(“内容”) 它默认为varchar 255。我希望它能够容纳更多的文本。如何向knex表明我希望发生这种情况?您可以通过以下方式定义col来设置字符串的长度: table.string("content", 1000) 这将导致: content character varying(1000) 参考: 还有其他方法: table.text(columnName, [text

在knex migrations中创建表时,我指出了一个列:

table.string(“内容”)


它默认为varchar 255。我希望它能够容纳更多的文本。如何向knex表明我希望发生这种情况?

您可以通过以下方式定义col来设置字符串的长度:

    table.string("content", 1000)
这将导致:

    content         character varying(1000)
参考:

还有其他方法:

table.text(columnName, [textType]);
添加一个文本列,其中包含MySql文本数据类型首选项的可选文本类型,textType默认为text

PSQL文本类型描述:变量无限长度

参考文献:



我从未使用过
knex
,但我猜想
table.text(“content”)
可以做到这一点,仅仅是在逻辑和postgresql数据类型上。我可能错了:)问题是您基本上必须使用
.raw()
并自己编写PG SQL。Knex似乎不明确支持它。OP认为text和nvarchar之间没有性能差异是正确的:“这三种类型之间没有性能差异。”见表。text(“内容”)可用于Postgres。请参见屏幕搜索“table.text”