【问题标题】:Rails will not run this PostgreSQL migration, why?Rails 不会运行这个 PostgreSQL 迁移,为什么?
【发布时间】:2014-05-16 12:52:35
【问题描述】:

我有这个作为迁移:

def up
  connection.execute(%q{
    alter table enterprise_members
    alter column sso_id
    type string using cast(sso_id as string)
  })
end

我只是想将整数转换为字符串。但是运行时,它会返回:

PG::UndefinedObject: ERROR:  type "string" does not exist
: 
        alter table enterprise_members
        alter column sso_id
        type string using cast(sso_id as string)

是因为我要投射它吗?我该如何解决这个问题?

【问题讨论】:

  • Varchar、char、text 是数据库类型,“string”不是。字符数据类型可以在manual上找到

标签: ruby-on-rails postgresql migration type-conversion


【解决方案1】:

您可以在使用 Rails 时致电 string,但如果您选择手动方式,就像您在 sn-p 中所做的那样,您必须坚持使用您的 DBMS' datatypes

这又引出了另一点:尽可能与 DB 无关!

【讨论】:

  • 显然我无法以其他方式投射,我不得不手动编写。
猜你喜欢
  • 1970-01-01
  • 2020-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-30
  • 2021-12-26
  • 2011-10-18
相关资源
最近更新 更多