0

私のブログには2つのバージョンがあります。1つ目はPHPで記述されてMySQLを使用していますが、2つ目のバージョンはPythonで記述されており、Postgresを使用しています。

私の目標は、データをある場所から別の場所に移動することです。テーブル名とスキーマの変更。

私のアイデアは、古いサイトのORMモデルを作成し、ループを使用してORMを使用してデータを取得し、それを新しいデータベースに配置することでした。新しいサイトのORMモデルもあるからです。

次のようになります。

old_articles = OldArticle.objects.all()
for old_article in old_articles:
    new_article = NewArticle()
    new_article.title = old_article.name
    new_article.content = old_article.body
    new_article.save()

ORMはデータベース間の違いを簡単に抽象化でき、私の意見では、これは実際に機能する可能性があります。またはいいえ、より良い方法はありますか?

4

2 に答える 2

1

この種のことを行うためのライブラリはたくさんあります。私はすでに実装され、十分にテストされているものに固執します。これは、まさにこのことを行うためのツールのリストがあるpostgreswikiへのリンクです。

http://wiki.postgresql.org/wiki/Converting_from_other_Databases_to_PostgreSQL

于 2013-02-01T20:52:03.500 に答える
1

この移行が1回だけ行われる場合、私はORMの方法を採用しません。MySQLから標準準拠のSQLダンプをエクスポートすることが可能であり、ダンプはPostgreSQLに簡単にインポートできます。データがPostgreSQLに格納されたら、移行クエリを実行してスキームを変更するか、一時的な「インポート」テーブルを使用して、新しいスキーム/レイアウトのテーブルにデータをコピーします。

すべての移行クエリをテストし、実行するすべての手順、実行するクエリ、および順序を含むシナリオを作成します。実行する必要のある手動の手順も含めます。

移行シナリオが正しく、完全にテストされていることを確認したら、古いブログを「メンテナンスモード」にして(申し訳ありませんが、オフラインです。まもなく戻ってきます)、実際に実行してください。

最も重要なこと:シナリオをテストし、結果を検証し、時間をかけて、これらのことを急がないでください。

于 2013-02-02T00:09:05.480 に答える