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