53 lines
1.7 KiB
Org Mode
53 lines
1.7 KiB
Org Mode
: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
|