• 
      

    Add a RenameModel mutation for handling model renames.

    Review Request #6216 — Created Aug. 12, 2014 and submitted

    Information

    Django Evolution
    master
    dce0e20...

    Reviewers

    The new RenameModel mutation allows an evolution to indicate that a
    model has been renamed. This handles updating the signature for any
    related ForeignKeys or ManyToManyFields and generating any SQL to
    perform the table rename (if needed).

    For the unit tests, some work was needed to allow models to be added
    before the base test model, in order for model creation/destruction to
    happen in the right orders.

    Unit tests for sqlite3, MySQL (InnoDB and MyISAM), and Postgres all pass.

    Hand-tested against my sqlite3 database and a copy of a production MySQL
    database using InnoDB.

    reviewbot
    1. Tool: Pyflakes
      Processed Files:
          django_evolution/mutations.py
          django_evolution/tests/base_test_case.py
          django_evolution/tests/test_rename_model.py
          django_evolution/tests/db/sqlite3.py
          django_evolution/tests/db/postgresql.py
          django_evolution/tests/test_rename_field.py
          django_evolution/tests/db/mysql.py
      
      
      
      Tool: PEP8 Style Checker
      Processed Files:
          django_evolution/mutations.py
          django_evolution/tests/base_test_case.py
          django_evolution/tests/test_rename_model.py
          django_evolution/tests/db/sqlite3.py
          django_evolution/tests/db/postgresql.py
          django_evolution/tests/test_rename_field.py
          django_evolution/tests/db/mysql.py
      
      
    2. 
        
    david
    1. Ship It!

    2. 
        
    chipx86
    Review request changed
    Status:
    Completed