Railsでsqlite列に「プライマリ」という名前を付けるにはどうすればよいですか?

ruby-on-rails sqlite
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」に保ちながら、これを機能させるにはどうすればよいですか?

  0  0


ベストアンサー

ユーザーが主要な単語の周りを逆ティックします。

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

1


タイトルとURLをコピーしました