freeCodeCamp / freeCodeCamp/scripts

[feat]: ultimate normalization script

オープン
#222 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
TypeScript
スター
17
フォーク
16
PR マージ指標
30日以内にマージされた PR はありません

説明

Going forward, there are likely many times we may want to normalize records. As such, we need a smart script:

**Musts**

- [ ] not bring down production to run script
- it should be a script we can tune to **not** hammer the db, and quietly run in the background
- [ ] easy to define/add transformations
- [ ] fault tolerant
- [ ] keep track of versioning
- must not repeat work - the script should be stopped/started without hesitation, and start off where it left off
- [ ] fearlessly concurrent
- the api will write a `lastUpdated` field to the user record which should allow all ops to be done without losing data

**Niceties**

- [ ] dynamically asks database how loaded it is, and accordingly adjusts ops/rps

**Notes**

Currently, the idea is to add a `schemaVersion` field to the `user` record.

I would prefer to write this in Rust:
1) Ease of distribution
2) Strict typing

That said, this might go against _"easy to define/add transformations"_.

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。