1

2 つのデータベースがあるとします。1 つはbooks私が所有するもののリストを含み、もう 1 つは政府が私が所有することを許可しているすべてのリストを含みますallowed_books(わかりました、おそらく悪い例ですが、あなたはアイデアはすぐに)。allowed_booksデータベースは一定で一貫性があります。データベース内の がデータベース内にもない場合はBook、から削除する必要があります。booksallowed_booksbooks

これを行う最善の方法は何ですか?

2 つのデータベースを比較して不要なエントリを削除する Rails/Sqlite 関数/メソッドはありますか? または、これを多少手動で行う必要がありますか?

実際に新しい を作成する前に、最初にそのBookようなものを実行することを考えていAllowedBook.find_by_name(book_name)ました。nil が返された場合は、そもそも追加しません。または、上記のように、Rails/Sqlite にデータベース間の不整合をチェックするデフォルトの方法がある場合、これはより良いオプションですか?

を使用して手動で実行できると確信していますfind_by_nameが、これが最適なオプションですか?

Ruby 1.9.3、Rails 3.2.6、SQLite3 3.6.20。

ありがとう!

4

1 に答える 1

0

「2 つのデータベース」ではなく、「2 つのテーブル」を意味していると思います。RailsでもSqliteでも、あなたが提案したことを行う方法はありません。手動で行う必要があります。

于 2012-07-20T18:31:38.433 に答える