0

プログラムが組み込まれたデータベースを備えたRubyonRailsアプリケーションがあります。RoRアプリのデータベースとほぼ同じsqlite3データベースもあります(作成、更新されていません)。sqlite3データベースをRailsアプリにインポートしたいのですが(database.ymlファイルではなく、2つのデータベースを組み合わせて)、多くのGoogle検索を行った後、これを行う方法と場所がわかりません。これを行うファイルと、それを行うための最良の方法は何ですか?

4

1 に答える 1

1

ローテクなアプローチは、SQLiteデータベースを他のデータベースにインポートできるものにダンプすることです。MySQLはLOAD DATA INFILE非常に柔軟性があり、正しく構成されていればCSVファイルを読み取ることもできるため、簡単な方法である可能性があります。

一般に、外部テーブルをそのままインポートするのが最善だと思いますが、名前を変換して、非ネイティブとして識別できるようにします。たとえば、それらすべてにプレフィックスを付けて、それらが_import通常のスキーマの一部ではないことを明確にします。次に、再マッピングを実行する一連のステートメントを使用して、これらのテーブルからネイティブテーブルに移行できます。

INSERT INTO foo (x,y) SELECT (x,y) FROM _import_foo

これにより、列の欠落や名前のわずかな違いを簡単に説明できます。必要に応じて、特定の列で変換を実行することもできます。

いつものように、この操作を開始する前に、データベースのスナップショットがあることを確認してください。通常、マージを解除するには注意が必要です。

もう1つのアプローチは、2つのデータベース接続を同時に作成し、SELECT一方と他方を使用して2つの間でデータをシャトルするINSERT INTOことです。

于 2012-06-06T19:51:12.240 に答える