How to migrate Django models from mysql to sqlite (or between any two database systems)?

后端 未结 4 1650
后悔当初
后悔当初 2021-02-06 04:42

I have a Django deployment in production that uses MySQL.

I would like to do further development with SQLite, so I would like to import my existing data to an SQLite dat

相关标签:
4条回答
  • 2021-02-06 05:20

    use

    manage.py dumpdata > your_file.json
    

    to export your data from the production system (docs).

    Then move the file on the development system and run

    manage.py loaddata your_file.json
    

    You can also put the file in your_app/fixtures folder with name "initial_data.json" and it will be automatically loaded when you run "manage.py syncdb" (docs).

    0 讨论(0)
  • 2021-02-06 05:24

    Maybe give south a try:

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

    0 讨论(0)
  • 2021-02-06 05:32

    If you have contenttypes in installed app

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

    Use script like what for copying you entry to new base:

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

    See full manual here

    0 讨论(0)
  • 2021-02-06 05:38

    Have you tried using manage.py dumpdata > datadump and then when the new database is set up correctly, use python manage.py loaddata datadump?

    0 讨论(0)
提交回复
热议问题