fami-gb / kait_caller

順番待ちシステム
0 stars 0 forks source link

DB操作 #7

Open fami-gb opened 1 month ago

fami-gb commented 1 month ago

DBのデータの更新

DBにはidnamestatusをもったjson形式のデータがある。 そこで、statusの初期値はwaitであるが、体験が終わった人はfinishなどに変えたい。 そこで次の方法を考える。

DB更新処理

  1. ユーザが直接メッセージ送信する  LINEでユーザが体験終了と送信することで、そのユーザのstatusfinishに変える方法。

  2. 運営側がSQL等を用いて変える 保存されているdatabase.sqliteをいじることでDBを直接更新する方法

fami-gb commented 1 month ago

ターミナル上でsqliteを起動させることで直接DBを更新することに成功した。 コマンドは下記のとおりである。

  1. sqliteを起動して、DBファイルを開く sqlite3 .open database.sqlite

  2. UPDATE文を使いステータスをfinishに変更する update User set status = 'finish' where id = 変更したいid

fami-gb commented 1 month ago

降順に取り出す

ステータスをfinishに変えたならば、そのユーザを除外して降順にしてデータを取り出す必要がある。 ここでもsqliteを用いてstatuswaitかつidが早い順にして取り出したいと思う。 コマンドは下記のとおりである。

select * from User where status='wait' order by id desc limit 1