gpt4 book ai didi

ruby-on-rails - rails 3/postgres - 如果不应用 :limit in schema 字符串有多长

转载 作者:行者123 更新时间:2023-11-29 11:12:54 25 4
gpt4 key购买 nike

我的 googlefu 一定很弱,因为我找不到任何东西告诉我 Rails 应用程序中字符串列的默认限制(托管在 Heroku,使用 PostgreSQL 作为数据库)。

如有任何帮助,我们将不胜感激!

最佳答案

如果您没有指定特定的限制,ActiveRecord 使用 varchar(255)(或 character varying (255) 是迂腐的)。您始终可以使用 psql 跳转到 PostgreSQL 并说 \d your_table 以获取 PostgreSQL 看到的表。

我认为没有在任何地方指定默认值,但它是 right here in the source :

NATIVE_DATABASE_TYPES = {
:primary_key => "serial primary key",
:string => { :name => "character varying", :limit => 255 },
#...

最接近规范的是 Migrations Guide :

These will be mapped onto an appropriate underlying database type, for example with MySQL :string is mapped to VARCHAR(255).

但这与 PostgreSQL 无关,也不能完全保证。


顺便说一句,如果您使用的是 PostgreSQL,您应该几乎总是直接转到 :text 并假装 :string 不存在。 PostgreSQL 在内部对它们一视同仁,只是它必须对 varchar 进行长度检查。在我的另一个回答中有更多关于此的讨论:Changing a column type to longer strings in rails .

关于ruby-on-rails - rails 3/postgres - 如果不应用 :limit in schema 字符串有多长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8129776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com