1

現在、Ruby Object Mapper を既存の SQL データベースで使用するプロジェクトに取り組んでいます。create コマンドを実行すると問題が発生します。返された結果はtable_name.idデフォルトでソートされているようです。私が作業している既存のテーブルには 以外の名前の主キーがありidunknown column 'id'例外が発生するため、これは問題です。

デフォルトの注文列を変更する方法はありますか?

4

1 に答える 1

3

Github から回答を得ました:

これは rom-sql に関連する問題です ( https://github.com/rom-rb/rom-sql/blob/master/lib/rom/sql/relation.rb#L39 )。

解決策は、コマンドの関係でデータセットを明示的に宣言することです。次のようなことを試してください:

class MyRelation < ROM::Relation[:sql]
  dataset { order(:my_column) }
end

https://github.com/rom-rb/rom/issues/339#issuecomment-193904733

アップデート:

または、次を使用してコンテナー定義で設定することもできます:macros

rom_container = ROM.container(:sql, 'mysql2://root@localhost/db_name') do |rom|
  rom.use :macros

  rom.relation(:users) do |r|
    r.primary_key :my_column
    r.dataset { order(:my_column) }
  end
end
于 2016-03-08T18:47:15.420 に答える