У меня есть таблица, созданная примерно так:
create table change.payer
(
account_id text not null
constraint payer_account_id_pk
primary key,
entity_identifier text,
entity_type text,
name text,
contact_information jsonb,
etin text,
document_fetched_at timestamp,
created_at timestamp default CURRENT_TIMESTAMP not null
);
Я добавляю в нее данные, вот так:
INSERT INTO change.payer (
"account_id", "entity_identifier", "entity_type", "name",
"contact_information", "etin", "document_fetched_at"
)
VALUES (
%(account_id)s, %(entity_identifier)s, %(entity_type)s, %(name)s,
%(contact_information)s, %(etin)s, %(document_fetched_at)s
)
ON CONFLICT ON CONSTRAINT payer_account_id_pk
DO UPDATE SET
entity_identifier = change.payer.entity_identifier,
entity_type = change.payer.entity_type,
name = change.payer.name,
contact_information = change.payer.contact_information,
etin = change.payer.etin,
document_fetched_at = change.payer.document_fetched_at
;
По какой-то причине, когда я пишу новые строки с таким же account_id
, обновлений не происходит. Я не уверен точно, что происходит, 1) я не получаю ошибки 2) я знаю, что данные меняются, потому что я вставляю каждую вещь в таблицу истории, таким образом я вижу изменение данных / временных меток 3) новые строки не записываются
по сути, ничего не меняется в change.payer
, даже когда я пытаюсь сохранить новые данные, но новые строки записываются в мою таблицу истории.