Re: [PATCH] pgarchives: pglister_sync: import lists with subscriber_access set to True

From: Célestin Matte <celestin(dot)matte(at)cmatte(dot)me>
To: pgsql-www(at)lists(dot)postgresql(dot)org
Subject: Re: [PATCH] pgarchives: pglister_sync: import lists with subscriber_access set to True
Date: 2022-01-28 17:43:01
Message-ID: ffc3a9da-b2cd-1356-b7dc-2be1a6062ce7@cmatte.me
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-www

Sorry, accidentally sent unfinished email containing contradictory information... Please ignore the previous one.

pglister_sync.py is a script used to synchronize things between pglister and pgarchives: lists, subscribers etc.

subscriber_access is not set in pglister_sync's query, and is set to null=False in Django's model. As a consequence, pglister_sync fails to add new lists:
Traceback (most recent call last):
File "/srv/pgarchives/local/loader/pglister_sync.py", line 68, in <module>
'groupname': l['group']['groupname'],
psycopg2.errors.NotNullViolation: null value in column "subscriber_access" violates not-null constraint
DETAIL: Failing row contains (8, test-pglister-sync, test-pglister-sync, , t, 1, null).

I don't know if there is a way to configure postgres to use the default value , but I think it would be wiser to explicitly set this variable in pglister_sync.py (attached patch in previous email)

It seems more logical to me to set this value to True, as otherwise access to lists on private servers is restricted to superusers, and there is no easier way to modify that than to edit the database manually. But then, the model may need to be update to have this value set to default=True as well. What do you think?

That said, it may be better to have a way to modify that within the web interface in pglister.
--
Célestin Matte

In response to

Browse pgsql-www by date

  From Date Subject
Next Message Célestin Matte 2022-01-28 17:52:25 [PATCH] pgarchives: Bugfix: missing ids in pglister_sync
Previous Message Célestin Matte 2022-01-28 17:37:37 [PATCH] pgarchives: pglister_sync: import lists with subscriber_access set to True