#9858: pg test database not created with postgis template, tests fail
-----------------------------------------------------+----------------------
 Reporter:  Aryeh Leib Taurog <v...@aryehleib.com>    |       Owner:  nobody    
   Status:  new                                      |   Milestone:            
Component:  GIS                                      |     Version:  1.0       
 Keywords:  test template_postgis create_spatial_db  |       Stage:  Unreviewed
Has_patch:  1                                        |  
-----------------------------------------------------+----------------------
 After setting up geodjango with PostgreSQL 8.3, PostGIS 1.3.3, and the
 win32 geodjango installer, an attempt to run the gis tests fails.

 I am using the django 1.0.2 release (and geodjango code included
 therewith) under Python 2.5 on Win XP Pro

 The source of the error seems to be that the addgeometrycolumn procedure
 does not exist in the test database.

 from settings.py:
 {{{
 #!python
 TEST_RUNNER         = 'django.contrib.gis.tests.run_gis_tests'
 POSTGIS_SQL_PATH    = 'D:/generic/PostgreSQL/8.3/share/contrib'
 }}}

 from test output:
 {{{
 Installing custom SQL for geoapp.Country model
 Failed to install custom SQL for geoapp.Country model: function
 addgeometrycolumn(unknown, unknown, integer, unknown, integer) does not
 exist
 LINE 1: SELECT AddGeometryColumn('geoapp_country', 'mpoly', 4326, 'M...
                ^
 HINT:  No function matches the given name and argument types. You might
 need to add explicit type casts.

 }}}

 complete log file attached.

 The geodjango docs state that a spacial database is created using the
 template template_postgis.  In tracing the error noted above, I discovered
 that the test database is created with no template.  This seems to account
 for the missing procedure.

 I patched
 
source:django/tags/releases/1.0.2/django/contrib/gis/db/backend/postgis/creation.py
 with a modified '''_create_with_cursor''', called by
 '''create_spatial_db''', using a new setting to specify the template name.
 It seems to me that '''get_cmd_options''' should similarly be modified.

 The tests are successful with my patch applied (log file attached)

 I'm perplexed to find no mention of this anywhere.  Is there something I'm
 missing?  Does the gis test work for everyone else without using the
 template?

-- 
Ticket URL: <http://code.djangoproject.com/ticket/9858>
Django <http://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 post to this group, send email to django-updates@googlegroups.com
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to