#22022: Allow field subclasses to require additional SQL
-------------------------------------+-------------------------------------
               Reporter:  mjtamlyn   |          Owner:  nobody
                   Type:  New        |         Status:  new
  feature                            |        Version:  master
              Component:  Database   |       Keywords:
  layer (models, ORM)                |      Has patch:  1
               Severity:  Normal     |    Needs tests:  0
           Triage Stage:             |  Easy pickings:  0
  Unreviewed                         |
    Needs documentation:  0          |
Patch needs improvement:  1          |
                  UI/UX:  0          |
-------------------------------------+-------------------------------------
 '''Problem'''

 In postgres, a number of data types require a specific extension to be
 installed. We have one instance of this in core at present, which is the
 `postgis` extension. Our documentation recommends[1] (in postgres 9.1+)
 that you explicitly create the extension in your primary database by hand,
 and then we customise the `_create_test_db` method on the postgis database
 backend to ensure the test database has the relevant extensions installed.

 Other third party apps[2] recommend adding the extension to the template
 to ensure it's present in tests.

 I wish to avoid adding a custom backend to d.c.postgres if at all
 possible, especially as using it in conjunction with gis should be
 permissible. Consequently, I'd like if possible for model fields to have
 `pre_create_sql` to allow each individual field to create the extensions
 as needed. The same mechanism could also be used for a user defined custom
 field to create functions which could then be used as a custom transform
 object.

 This feature will be useful for:
 1) one part of the de-hack-gis project
 2) hstore
 3) citext, trigrams, generating uuids database side and other possible
 future features of d.c.postgres

 I've written a draft patch[3]. It probably needs some work (hence patch
 needs improvement) but an initial review of the names and code layout
 would be useful.

 [1]
 
https://docs.djangoproject.com/en/1.6/ref/contrib/gis/install/postgis/#creating-a
 -spatial-database-with-postgis-2-0-and-postgresql-9-1
 [2] https://github.com/djangonauts/django-hstore#running-the-tests
 [3] https://github.com/django/django/pull/2266

-- 
Ticket URL: <https://code.djangoproject.com/ticket/22022>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/051.f198cf54e12fda18e6f2de1337d5c4bf%40djangoproject.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to