Do you have a 

db.define_table('pictures',....)

?

On Wednesday, 13 June 2012 17:21:52 UTC-5, Gabriella Canavesi wrote:
>
> Hi Niphlod, thanks you for the suggestion I solved even that error and 
> I added 
> check_reserved=['common','postgres', 'sqlite'] to avoid future 
> problems. 
>
> Unfortunately now I am getting an error saying: 
>
> relation "pictures" does not exist 
>
> which is the first field set as reference. 
> the table definition is the following: 
>
> db.define_table('route', 
>          Field('name', 'string', 
>                requires=[IS_NOT_EMPTY(),IS_NOT_IN_DB(db,'route.name'), 
> IS_CAPITALIZE()]), 
>          Field('user_id', db.auth_user, default=auth.user_id), 
>          Field("slug", "string", 
> requires=[IS_SLUG(),IS_NOT_IN_DB(db,'route.slug')]), 
>          Field('length','double', default=random.randint(0, 50)), 
>          Field('height','integer', default=random.randint(0, 50)), 
>          Field('max_elevation','integer', default=random.randint(0, 
> 50)), 
>          Field('max_elevation_lat', 'double'), 
>          Field('max_elevation_lgt', 'double'), 
>          Field('min_elevation','integer', default=random.randint(0, 
> 50)), 
>          Field('min_elevation_lat', 'double'), 
>          Field('min_elevation_lgt', 'double'), 
>          Field('start', 'string'), 
>          Field('endC', 'string'), 
>          Field('photo_id', 'reference pictures', readable=False, 
> writable=False), 
>          Field("signs", 'reference signs', readable=False, 
> writable=False), 
>          Field("kml", "upload",   
> uploadfolder=request.folder+'uploads/kml', uploadseparate=True), 
>          Field("svg_altitude", 'string', readable=False, 
> writable=False), 
>          Field("desc_it",'reference description', readable=False, 
> writable=False ), 
>          Field("desc_en",'reference description', readable=False, 
> writable=False ), 
>          Field("desc_de",'reference description', readable=False, 
> writable=False ), 
>          Field("desc_es",'reference description', readable=False, 
> writable=False ), 
>          Field("categories", 'list:reference route_category'), 
>          Field("status", 'string', requires=IS_IN_SET(['public', 
> 'review', 'work_in_progress']), default='work_in_progress'), 
>          auth.signature, 
>          format='%(name)s (%(id)s)' 
> ) 
>
> what should I do? 
>
> -- 
>   Paolo 
>
>
> Il 13.06.2012 20:48 Niphlod ha scritto: 
> > yes, you're using "end" as column name....this is not allowed in 
> > postgres and oracle, and also on mssql. 
> > 
> > Bites me every time, but actually a good practice would be to create 
> > the model within a connection made this way: 
> > 
> > db = DAL(uri, check_reserved_keyword=['all']) 
> > 
> > it will stop your model creation if find some tablename/columnname 
> > that is not allowed in all db engines, so you can have a "portable" 
> > db 
> > schema between different db engines. Better start with a "universally 
> > accepted" model also in local developments with sqlite than having 
> > those errors when trying to migrate to your production server. 
> > 
> > PS: check_reserved_keyword take a list of db engines to check 
> > against, 
> > so if you're worried only to "be portable" within postgres and 
> > sqlite, 
> > you can replace ['all'] with ['common', 'sqlite', 'postgres'] 
>
>
>

Reply via email to