Posted by Herbert Poul |
|
no, it's a SCT feature ;)
i've explained it a bit on djangosnippets.org: http://www.djangosnippets.org/snippets/289/ but as a user .. you run syncdb.. just as you did .. and see the SQL statements it would execute.. if you're using postgresql .. you are all set and can select 'yes' .. on any other database you need to say 'no' and convert the statements to your flavor by hand .. but at least you get an idea what has changed .. Hey, we have Signatures !!! Great, isn't it ? ;) |
|
Posted by David Abrahams |
|
I tried just proceeding with syncdb but it fails. Had it worked, I'd never have tried the fancy evolution tools:
python manage.py syncdb Executing module body. Creating table community_communityuserprofile Creating table community_taggeditem Creating table community_grouptemplate Creating table community_rolememberlimitation Creating table community_rolemember Creating table community_communityuserprofilefield Creating table community_taglabel Creating table community_permissionflag Creating table community_communityuserprofilefieldvalue Creating table community_role Creating table community_tag Creating table sphboard_postattachment Creating table sphboard_threadlastvisit Creating table sphboard_extendedcategoryconfig Creating table sphboard_boarduserprofile Creating table sphboard_threadinformation Creating table sphboard_userpostcount Creating table sphboard_postannotation Traceback (most recent call last): File "manage.py", line 11, in <module> execute_manager(settings) File "/usr/lib/python2.5/site-packages/django/core/management/__init__.py", line 272, in execute_manager utility.execute() File "/usr/lib/python2.5/site-packages/django/core/management/__init__.py", line 219, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/usr/lib/python2.5/site-packages/django/core/management/base.py", line 72, in run_from_argv self.execute(*args, **options.__dict__) File "/usr/lib/python2.5/site-packages/django/core/management/base.py", line 86, in execute output = self.handle(*args, **options) File "/usr/lib/python2.5/site-packages/django/core/management/base.py", line 168, in handle return self.handle_noargs(**options) File "/usr/lib/python2.5/site-packages/django/core/management/commands/syncdb.py", line 97, in handle_noargs emit_post_sync_signal(created_models, verbosity, interactive) File "/usr/lib/python2.5/site-packages/django/core/management/sql.py", line 491, in emit_post_sync_signal verbosity=verbosity, interactive=interactive) File "/usr/lib/python2.5/site-packages/django/dispatch/dispatcher.py", line 360, in send **named File "/usr/lib/python2.5/site-packages/django/dispatch/robustapply.py", line 47, in robustApply return receiver(*arguments, **named) File "/home/dave/src/site/boostcon-trunk/boost_consulting/communitytools/sphenecoll/sphene/sphboard/management.py", line 20, in init_data synchronize_threadinformation(verbosity) File "/home/dave/src/site/boostcon-trunk/boost_consulting/communitytools/sphenecoll/sphene/sphboard/management.py", line 32, in synchronize_threadinformation for thread in all_threads: File "/usr/lib/python2.5/site-packages/django/db/models/query.py", line 114, in __iter__ return iter(self._get_data()) File "/usr/lib/python2.5/site-packages/django/db/models/query.py", line 483, in _get_data self._result_cache = list(self.iterator()) File "/usr/lib/python2.5/site-packages/django/db/models/query.py", line 189, in iterator cursor.execute("SELECT " + (self._distinct and "DISTINCT " or "") + ",".join(select) + sql, params) File "/usr/lib/python2.5/site-packages/django/db/backends/util.py", line 18, in execute return self.cursor.execute(sql, params) psycopg2.ProgrammingError: column sphboard_post.markup does not exist LINE 1: ...oard_post"."postdate","sphboard_post"."author_id","sphboard_... |
|
Posted by David Abrahams |
|
If I had to guess, I'd say the creation of the sphboard_postannotation table occurs before the changelog for the Post model runs, but the latter creates the "markup" field needed by the former. |
|
Posted by David Abrahams |
|
Nope, that's not it. The real explanation and a workaround is given in http://code.google.com/p/sct-project/issues/detail?id=98 --- Last Edited by David Abrahams at 2008-03-17 17:53:45 --- |
|
Posted by Herbert Poul |
|
thanks for investigating this problem - it sounds very reasonable .. i think i'll apply your patch - i just have to assure that changelogs won't run more than once then .. (i guess they won't since it will be written into the database the first time.. so nothing will happen the second time anyway..) ...
it's somehow unfortunate that there is no pre_syncdb as for the exception in the django admin interface of roles: i've changed the ordering to "group_id" instead of "group" .. this way it doesn't use community_group.id and it works .. anyway .. i somehow lost track of the problems.. is anything left open ? - have you tried to change the community/community/ url ? Hey, we have Signatures !!! Great, isn't it ? ;) |
|
Posted by David Abrahams |
|
No problems left except for any open tickets I may have in the tracker, thanks. From now on I'll make sure that each issue gets a tracker ticket so we don't have that confusion.
I think everything is working now; I'll let you know when the site is live. Cheers! |
|
Posted by David Abrahams |
|
Is that one checked in yet?
I did manage to change that. I wouldn't say my url scheme is super-logical now, but at least the site works. Please see http://boostcon.com Cheers, |
|
Posted by Herbert Poul |
|
yes it is
looks nice, but it seems you haven't set your MEDIA_URL in settings.py (the folder icons don't work) Hey, we have Signatures !!! Great, isn't it ? ;) |
|
Posted by David Abrahams |
|
I noticed that. I think I have set MEDIA_URL, or none of my own images would show up. The problem is that it points to my media, not to yours. I think sphene (and all plug-in Django apps) need a separate MEDIA_URL or something to make this work out cleanly... or maybe this has something to do with pre-existing overrides I have of some of your templates. This will take more investigation. |
|
Posted by David Abrahams |
|
Now fixed. The problem was:
1. I hadn't enabled django.core.context_processors.media, which AFAIK didn't exist in 0.96 (I was using the media_url processor frrom http://www.b-list.org/weblog/2006/06/14/django-tips-template-context-processors) 2. I needed a trailing slash on my MEDIA_URL 3. I needed a link to communitytools/static/sphene from my MEDIA_ROOT Maybe SCT could benefit from an upgrading guide ;-) |