Table "public.user_tests"
                  
                  
                   Column  |            Type             | Collation | Nullable |                Default                 
                  
                  
                  ---------+-----------------------------+-----------+----------+----------------------------------------
                  
                  
                   id      | integer                     |           | not null | nextval('user_tests_id_seq'::regclass)
                  
                  
                   tg_id   | bigint                      |           |          | 
                  
                  
                   test_id | character varying(32)       |           |          | 
                  
                  
                   date    | timestamp without time zone |           |          | 
                  
                  
                   service | character varying(16)       |           |          | 
                  
                  
                  Indexes:
                  
                  
                      "user_tests_pkey" PRIMARY KEY, btree (id)
                  
                  
                  Foreign-key constraints:
                  
                  
                      "user_tests_test_id_fkey" FOREIGN KEY (test_id) REFERENCES tests(id)
                  
                  
                      "user_tests_tg_id_fkey" FOREIGN KEY (tg_id) REFERENCES users(tg_id) ON DELETE CASCADE
                  
                  
                  Referenced by:
                  
                  
                      TABLE "shares" CONSTRAINT "shares_usertest_id_fkey" FOREIGN KEY (usertest_id) REFERENCES user_tests(id)
                  
                  
                  
                  
                  
                  И
                  
                  
                  
                  
                  
                                             Table "public.tests"
                  
                  
                     Column   |            Type             | Collation | Nullable | Default 
                  
                  
                  ------------+-----------------------------+-----------+----------+---------
                  
                  
                   id         | character varying(32)       |           | not null | 
                  
                  
                   service    | character varying(16)       |           | not null | 
                  
                  
                   date       | timestamp without time zone |           |          | 
                  
                  
                   tasks      | json                        |           |          | 
                  
                  
                   spent_time | double precision            |           |          | 
                  
                  
                  Indexes:
                  
                  
                      "tests_pkey" PRIMARY KEY, btree (id, service)
                  
                  
                      "tests_id_key" UNIQUE CONSTRAINT, btree (id)
                  
                  
                  Referenced by:
                  
                  
                      TABLE "partner_tests" CONSTRAINT "partner_tests_test_id_fkey" FOREIGN KEY (test_id) REFERENCES tests(id)
                  
                  
                      TABLE "user_tests" CONSTRAINT "user_tests_test_id_fkey" FOREIGN KEY (test_id) REFERENCES tests(id)
                  
                  
                  
                  
                  
                  Мне нужно изменить значения tests.id на новые. Как сделать так, чтобы в таблице user_tests(test_id) эти значения изменялись автоматически?
                  
                  
                
Убрать FK (или сделать их deferred), навесить триггер на user_tests, который будет апдейтить id в ней при изменении id в tests, после завершения апдейтов вернуть FK обратно
Обсуждают сегодня