After also adding migrate=False to the table definition, I now get this
error:
ProgrammingError: relation "globalsettings" does not exist
LINE 1: ...ngs.settingName, GlobalSettings.settingValue FROM GlobalSett...
On Thursday, March 10, 2011 3:02:25 PM UTC-5, Richard wrote:
>
> remove the " from web2py model and add the sequence name that postgres
> create by default with a different name then web2py expect like this :
>
> db.define_table('GlobalSettings',
> Field('settingName', length=255, unique=True),
> Field('settingValue', 'text'),
> Field('settingID', 'id'),
> sequence_name='GlobalSettings_settingID_seq'
> )
>
> It should works...
>
> Richard
>
> On Thu, Mar 10, 2011 at 2:42 PM, Ross Peoples <[email protected]> wrote:
>
>> I have a legacy PostgreSQL database that has its tables and field names
>> created using a case-sensitive means. Whenever I try to do a select(), it
>> returns no rows, and an insert() fails. This is the error that web2py gives:
>>
>> ProgrammingError: relation "globalsettings_id_seq" does not exist
>>
>> LINE 1: select currval('GlobalSettings_id_Seq')
>>
>>
>> This is the actual table definition from pgAdmin3:
>>
>> CREATE TABLE "GlobalSettings"
>> (
>> "settingName" character varying(255) NOT NULL,
>> "settingValue" text NOT NULL,
>> "settingID" serial NOT NULL,
>> CONSTRAINT "GlobalSettings_pkey" PRIMARY KEY ("settingID")
>> )
>>
>> Attempting to define my table in web2py using double-quotes between
>> single-quotes, like this:
>>
>> db.define_table('"GlobalSettings"',
>> Field('"settingName"', length=255, unique=True),
>> Field('"settingValue"', 'text'),
>> Field('"settingID"', 'id')
>> )
>>
>> results in the following error message: SyntaxError: only [0-9a-zA-Z_]
>> allowed
>> in table and field names, received "settingName"
>>
>
>