如何用Rails将sqlite列命名为“primary”?

时间:2010-12-30 20:23:40

标签: ruby-on-rails sqlite

我正在尝试在Rails中创建此表:

create_table :artist_names do |t|
  t.string :name
  t.boolean :primary, :default => true
  t.integer :artist_id

  t.datetime :deleted_at
  t.timestamps
end

但是,我对它的查询失败了:

[Dev]> ArtistName.all(:conditions => ['artist_names.primary = ?', true])  ArtistName Load (0.0ms)
SQLite3::SQLException: near "primary": syntax error: SELECT * FROM "artist_names" WHERE (artist_names.primary = 't') AND ("artist_names"."deleted_at" IS NULL)
ActiveRecord::StatementInvalid: SQLite3::SQLException: near "primary": syntax error: SELECT * FROM "artist_names" WHERE (artist_names.primary = 't') AND ("artist_names"."deleted_at" IS NULL) 

当我将列的名称更改为其他名称时,我的查询有效,但名称“primary”对我来说最有意义。

如何在保持列名称为“primary”的同时完成此工作?

1 个答案:

答案 0 :(得分:1)

用户回溯主要字词。

ArtistName.all(:conditions => ['`primary` = ?', true]) ...