12

私の (Rails 以外の) アプリで、Sequel モデルを定義しようとしています。

class Foo < Sequel::Model
end

アプリを実行すると、次のエラーが表示されます。

No database associated with Sequel::Model: 
have you called Sequel.connect or Sequel::Model.db= ? (Sequel::Error)

実際、データベース コードが実行される前に「require Foo」が発生しているため、connect を呼び出していません。

もちろん、DB が接続された後に require が行われるように切り替えることもできますが、別のオプションはありますか? 現在、アプリのすべての 'require' ステートメントを 1 つのファイルにまとめていますが、これらのモデル クラス ファイルでそれを壊さなくて済むようになれば幸いです。

4

1 に答える 1

11

設計上、Sequel はモデル クラスの作成時にデータベース スキーマを解析するため、モデル クラスを定義する前にデータベース接続を設定する必要があります。そのため、最初にデータベースに接続するように初期化コードを設定する必要があります。

于 2012-10-29T15:08:44.767 に答える