Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

दो Django ऐप्स के बीच एक मॉडल को कैसे स्थानांतरित करें (Django 1.7)

यह migrations.SeparateDatabaseAndState . का उपयोग करके काफी आसानी से किया जा सकता है . मूल रूप से, हम एक ऐप के इतिहास से मॉडल को हटाने और इसे दूसरे में बनाने के लिए दो राज्य संचालन के साथ समवर्ती रूप से तालिका का नाम बदलने के लिए डेटाबेस ऑपरेशन का उपयोग करते हैं।

पुराने ऐप से निकालें

python manage.py makemigrations old_app --empty

माइग्रेशन में:

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

नए ऐप में जोड़ें

पहले, मॉडल को नए ऐप के model.py में कॉपी करें, फिर:

python manage.py makemigrations new_app

यह एक सरल CreateModel . के साथ एक माइग्रेशन उत्पन्न करेगा एकमात्र ऑपरेशन के रूप में संचालन। इसे SeparateDatabaseAndState . में लपेटें ऑपरेशन ऐसा है कि हम तालिका को फिर से बनाने की कोशिश नहीं करते हैं। एक निर्भरता के रूप में पिछले प्रवास को भी शामिल करें:

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. घंटा () उदाहरण – MySQL

  2. MySQL डेटाबेस की प्रत्येक तालिका में फ़ील्ड में टेक्स्ट खोजें

  3. PHP और MySQL पर चेतावनियाँ और त्रुटियाँ बंद करें

  4. MySQL - डेटाबेस कैरेक्टर सेट एन्कोडिंग और कोलेशन समझाया गया

  5. MySQL कार्यक्षेत्र