提问人:sneakyfishies 提问时间:9/22/2023 更新时间:9/22/2023 访问量:73
Rails 5.1 .any?和 .exists?原因未知列
Rails 5.1 .any? and .exists? causes unknown column
问:
我正在使用 Rails,并且遇到了引用 schema.rb 中定义的表的模型问题:
create_table "test_table", primary_key: ["somthing", "somthing1"]...
我相信这代表了一个复合主键。但是,我不确定 Rails 如何通过 schema:dump 生成它。
使用此模型时,我可以使用 成功检索所有记录,这将返回预期的数据。但是当我尝试使用 时,我遇到以下错误:TestTable.all
TestTable.all.exists?
ActiveRecord::StatementInvalid (TinyTds::Error: Invalid column name '"somthing", "something1"'.: EXEC sp_executesql N'SELECT 1 AS one FROM [testtable] ORDER BY [testtable].["something", "somthing1"] ASC OFFSET 0 ROWS FETCH NEXT @0 ROWS ONLY', N'@0 int', @0 = 1)
对于任何使用 和.any?
.exists?
为了解决这个问题,我尝试使用宝石。composite_primary_keys
self.primary_keys = :something, :something1
不幸的是,这导致了同样的错误。
我不知如何进行。似乎 Rails 直接使用架构中数组中定义的主键。值得注意的是,此数据库是预先存在的,并且可用的迁移文件并不多。我不确定这是否会导致问题,但我认为它可能是相关的。
任何见解或解决方案将不胜感激。
答: 暂无答案
评论