8

MySQLを使用する本番環境にDjangoデプロイメントがあります。

SQLiteでさらに開発したいので、既存のデータをSQLiteデータベースにインポートしたいと思います。私

一般的なMySQLダンプをSQLiteに変換するためのシェルスクリプトがここにありますが、それは私には機能しませんでした(明らかに一般的な問題は簡単ではありません)。

Djangoモデルを使用してこれを行うのははるかに簡単であるに違いないと思いました。これをどのように行いますか?誰かがこれを行うためのスクリプトを持っていますか?

4

4 に答える 4

19

使用する

manage.py dumpdata > your_file.json

本番システムからデータをエクスポートします(ドキュメント)。

次に、ファイルを開発システムに移動して実行します

manage.py loaddata your_file.json

ファイルをyour_app/fixturesフォルダーに「initial_data.json」という名前で配置することもできます。このファイルは「manage.pysyncdb」(docs)を実行すると自動的に読み込まれます。

于 2010-12-28T09:26:16.853 に答える
2

を使用してみmanage.py dumpdata > datadumpましたが、新しいデータベースが正しくセットアップされたら、Pythonを使用しますmanage.py loaddata datadumpか?

于 2010-12-28T07:38:25.303 に答える
1

インストールされているアプリにコンテンツタイプがある場合

INSTALLED_APPS = (
    'django.contrib.contenttypes',
)

エントリを新しいベースにコピーするためのようなスクリプトを使用します。

from django.contrib.contenttypes.models import ContentType

    def run():

        def do(Table):
            if Table is not None:
                table_objects = Table.objects.all()
                for i in table_objects:
                    i.save(using='slave')

        ContentType.objects.using('slave').all().delete()

        for i in ContentType.objects.all():
            do(i.model_class())

ここで完全なマニュアルを参照してください

于 2012-10-19T14:09:13.120 に答える
0

たぶん南に試してみてください:

http://south.aeracode.org/docs/index.html

于 2010-12-28T07:46:33.853 に答える