【问题标题】:knex.js + pg specify varchar to be > 255knex.js + pg 指定 varchar > 255
【发布时间】:2016-06-19 11:33:19
【问题描述】:

在 knex 迁移中创建表时,我已经指出了一个 col:

table.string("content");

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

【问题讨论】:

  • 我从未使用过knex,但我猜table.text("content") 可以解决问题,只是纯粹用于逻辑和postgresql 数据类型。我可能错了:)
  • 问题是您基本上必须使用.raw() 并自己编写PG SQL。看来 Knex 不明确支持它。

标签: string postgresql knex.js varchar postgresql-9.4


【解决方案1】:

还有其他方法可以做到:

table.text(columnName, [textType]);

为 MySql 文本数据类型首选项添加一个文本列,其中 textType 默认为文本

PSQL 文本类型说明:可变无限长度。

参考资料:
http://knexjs.org/#Schema-text
https://www.postgresql.org/docs/9.1/datatype-character.html
https://chartio.com/resources/tutorials/understanding-strorage-sizes-for-mysql-text-data-types/

【讨论】:

    【解决方案2】:

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

        table.string("content", 1000)
    

    这会导致:

        content         character varying(1000)
    

    参考: http://knexjs.org/#Schema-string

    【讨论】:

    猜你喜欢
    • 2011-02-11
    • 1970-01-01
    • 2010-09-13
    • 1970-01-01
    • 1970-01-01
    • 2021-03-28
    • 2011-12-07
    • 1970-01-01
    • 2017-10-12
    相关资源
    最近更新 更多