Code

Changes between Version 1 and Version 2 of MultipleDatabaseSupport


Ignore:
Timestamp:
06/08/06 12:11:55 (8 years ago)
Author:
jpellerin@…
Comment:

More details about the plan

Legend:

Unmodified
Added
Removed
Modified
  • MultipleDatabaseSupport

    v1 v2  
    44 
    55=== The plan === 
     6 
     7 * Avoid any change that impacts backward compatibility. The intent is to add new functionality for those who need it, not to change the most common use case of a single database connection. 
    68 
    79 * Add a new settings variable, DATABASES. DATABASES is a dict of named database connection parameter sets. In each set, the keys are the same as the standard database connection settings variables. 
     
    4244        db_connection = 'b' 
    4345}}} 
     46 
     47 * Allow transaction decorators, etc to take optional connections argument. Without that argument, transactions will apply across all connections already in use. The default connection is '''always''' included. 
     48   
     49 * Move generation of schema manipulating sql (CREATE TABLE, etc) from django.core.management into backend.creation. 
     50 
     51 * Add methods to Manager to support per-model installation. This will enable each model to be installed using the connection that it specifies. It causes some complications, mainly in determining the correct order in which to install. My current solution is to depend on the developer already having figure that out by defining her models in a sensible order; and, when that fails, punting any unresolved  constraints to the end of the syncdb or install process. The manager methods will delegate to each model's backend to do the sql creation.