:PROPERTIES: :ID: 5cead401-0557-42a9-a5d2-d32f3e2bdfad :END: #+title: 2022-05-31 * [[id:d06d3ab4-c2d0-47c3-aae1-4395567fc3d2][Normalizing tags]] in production :PROPERTIES: :header-args:sql: :engine postgresql :cmdline "-U postgres postgres" :dir /docker:postgres: :exports both :cache yes :eval no-export :END: #+CAPTION: Find the next set of least affected accounts #+begin_src sql SELECT COUNT(*) FROM accounts WHERE NOT normalized #+end_src #+RESULTS[ba37582203de3bc2f2032b77542766039971dbcd]: | count | |-------| | 315 | #+CAPTION: Find the next set of least affected accounts #+NAME: 10-top-accounts #+begin_src sql :results silent SELECT account_id FROM accounts WHERE NOT normalized ORDER BY total #+end_src #+begin_src emacs-lisp :var accounts=10-top-accounts :results file :eval no-export (let ((filename "~/git/normalize_account_tags/production/10-top-accounts")) (with-temp-file filename (insert (s-join "\n" (-map #'car accounts)))) filename) #+end_src #+RESULTS: [[file:~/git/normalize_account_tags/production/10-top-accounts]] * Updating subscriber-sync creation logic [[id:1ff6586e-2dba-41a2-a887-753cc5ac27c9][Recipient Service]] will be configured to read data from AppDB rather than DynamoDB. Subscriber sync will not know the subscriber's recipient record may not already exist, and has no way of looking up the recipient record to check. ** On Creation - Create recipient record if none exists for the subscriber's normalized email address - Associate the subscriber with the recipient record ** On Update - If the normalized email address has changed, look up the old and new recipient records and update their subscriber associations ** On Delete - Look up the recipient record and update the subscriber association