Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara memindahkan model antara dua aplikasi Django (Django 1.7)

Ini dapat dilakukan dengan cukup mudah menggunakan migrations.SeparateDatabaseAndState . Pada dasarnya, kami menggunakan operasi database untuk mengganti nama tabel secara bersamaan dengan dua operasi status untuk menghapus model dari satu riwayat aplikasi dan membuatnya di riwayat lain.

Hapus dari aplikasi lama

python manage.py makemigrations old_app --empty

Dalam migrasi:

class Migration(migrations.Migration):

    dependencies = []

    database_operations = [
        migrations.AlterModelTable('TheModel', 'newapp_themodel')
    ]

    state_operations = [
        migrations.DeleteModel('TheModel')
    ]

    operations = [
        migrations.SeparateDatabaseAndState(
            database_operations=database_operations,
            state_operations=state_operations)
    ]

Tambahkan ke aplikasi baru

Pertama, salin model ke model.py aplikasi baru, lalu:

python manage.py makemigrations new_app

Ini akan menghasilkan migrasi dengan CreateModel naif operasi sebagai satu-satunya operasi. Bungkus itu dalam SeparateDatabaseAndState operasi sedemikian rupa sehingga kami tidak mencoba membuat ulang tabel. Sertakan juga migrasi sebelumnya sebagai ketergantungan:

class Migration(migrations.Migration):

    dependencies = [
        ('old_app', 'above_migration')
    ]

    state_operations = [
        migrations.CreateModel(
            name='TheModel',
            fields=[
                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
            ],
            options={
                'db_table': 'newapp_themodel',
            },
            bases=(models.Model,),
        )
    ]

    operations = [
        migrations.SeparateDatabaseAndState(state_operations=state_operations)
    ]


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menu pohon build PHP / MySQL

  2. Cara Menghapus Spasi Utama di MySQL

  3. Transmisikan dari VARCHAR ke INT - MySQL

  4. Kesalahan:pilih perintah ditolak untuk pengguna '<userid>'@'<ip-address>' untuk tabel '<table-name>'

  5. Bagaimana Menghitung Total Penjualan Per Bulan di MySQL?