DjangoモデルをMySQLからSQLiteに移行する方法(または2つのデータベースシステムの間)?

StackOverflow https://stackoverflow.com/questions/4544419

質問

MySQLを使用するDjangoの展開が生産されています。

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

シェルスクリプトがあります ここ 一般的なMySQLダンプをSQLiteに変換するが、それは私にとってはうまくいきませんでした(明らかに一般的な問題は容易ではありません)。

Djangoモデルを使用してこれを行うのははるかに簡単だと考えました。これをどうやってやるの?誰かがこれを行うスクリプトを持っていますか?

役に立ちましたか?

解決

使用する

manage.py dumpdata > your_file.json

生産システムからデータをエクスポートする(ドキュメント).

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

manage.py loaddata your_file.json

また、「initial_data.json」という名前の名前のファイルをyour_app/fixturesフォルダーに配置すると、「manage.py syncdb」を実行すると自動的にロードされます。ドキュメント).

他のヒント

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

インストールされているアプリにContentTypesがある場合

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())

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

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top