-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use PostgreSQL instead of MongoDB #4572
Conversation
力尽きそう |
} | ||
}; | ||
|
||
function sanitize(str: string): string { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
自作のサニタイズ関数は漏れがあったときに怖いのでプレースホルダを使うべき
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
なるほど
プレースホルダについて調べたけどなんらかのライブラリを使うこと前提で実際にSQLがどうなるかがわからなかった
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
だいたいは
SELECT * FROM hoge WHERE fuga=? AND piyo=?
を
db.prepare(sql_text).execute([1, 2])
で呼び出すと
SELECT * FROM hoge WHERE fuga=1 AND piyo=2
になる (他にも{"hoge": 1}
を:hoge
で参照できたり$n
で配列の特定のところを参照できたりするやつもある)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
db.prepare(sql_text).execute([1, 2]) というのはSQLじゃないから自前で実装するのかな
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
だいたいの場合DBとやりとりしてくれるクライアントに入ってる
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ふーむ、そうするとその関数はこのライブラリの外なので型定義が使えなくなっちゃいそう
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SQL文を作るときは[string, any[]]を返して、あとはラッパーで頑張るとよさそう
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
他のライブラリ見てみたけど自前でエスケープ処理書いてた(しかもめっちゃシンプルだった)
https://github.com/sequelize/sequelize/blob/master/lib/sql-string.js#L71
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wish Github had a translate button ;-;
SQL文ビルダー、便利そうなのでライブラリに切り出してnpmで公開してくれると他のプロジェクトでも使えてありがたい |
JSON型の特定のキーの値をインクリメントする方法がわからない |
起動するようにはなった |
################################################################ | ||
#[ PostgreSQL configuration ]################################### | ||
|
||
db: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
v11以降では
db:
type: postgresql
みたいな感じにして、v10は
db:
type: mongodb
に変更する(互換性は維持)とかにした方が綺麗そう。
アカウント作れるようになった |
投稿できるようになった |
投稿作成の処理が複雑になっているので各種ストリームに流す処理を削除 |
ストリーミングのテスト追加 |
Any chance for MySQL support as well? |
Summary
PostgreSQLにするなどしています
Resolve #4534
Resolve #3510
Resolve #4203
Resolve #4018
Resolve #2497
Resolve #2797
Resolve #3209
Resolve #3079
Resolve #2275
Resolve #2341
Resolve #4299
Resolve #3921
Resolve #2789
Resolve #4504
Resolve #1540
Resolve #4471
Resolve #4335
Close #1432
Close #1036
Close #1405
Close #4385
Close #4377
UserListJoining
テーブルを作りそこで管理するようにUserNotePinings
テーブルを作りそこで管理するようにMeta
のblockedHosts
プロパティに保存するようにpublicKey
とkeypair
は別テーブルに分離