回答編集履歴

1

DBの値を出力する件について追記しました。

2024/07/28 00:13

投稿

退会済みユーザー
test CHANGED
@@ -13,3 +13,60 @@
13
13
  let db = establish_connection().await.expect("connection error!");
14
14
  ```
15
15
 
16
+
17
+ ### 追記です。
18
+
19
+ コメントありがとうございます。
20
+ ビルドエラーが解消されたようで良かったです。
21
+
22
+ > 実行時のエラーも出なかったためDBの接続、selectまで実施されているようなのですがDBの値がコンソールに出力されませんでした。
23
+
24
+ 警告なども出力されなかったでしょうか?
25
+ おそらく非同期のため実際の評価はされないままmainが終了してしまっているためかなと思いました。
26
+ 下の例は"hello, world!"が出力されないです。
27
+
28
+ ```rust
29
+ async fn hello_world() {
30
+ println!("hello, world!");
31
+ }
32
+ fn main() {
33
+ hello_world(); // Nothing is printed
34
+ // warning: unused implementer of `Future` that must be used
35
+ // = note: futures do nothing unless you `.await` or poll them
36
+ // = note: `#[warn(unused_must_use)]` on by default
37
+ }
38
+ ```
39
+
40
+ 下の例は"hello, world!"が出力されます。
41
+
42
+ ```rust
43
+ use futures::executor::block_on;
44
+ async fn hello_world() {
45
+ println!("hello, world!");
46
+ }
47
+ fn main() {
48
+ let future = hello_world(); // Nothing is printed
49
+ block_on(future); // `future` is run and "hello, world!" is printed
50
+ }
51
+ ```
52
+
53
+ 修正後の該当のソースコード(main.rs)の場合だと`start`を`block_on`で囲めば良いことになるかなと思いました。
54
+
55
+ SeaORMの公式のドキュメントには下に引用したような記載があります。
56
+ 非同期ランタイムは`block_on`ではなく、サードパーティのtokioが良く使われている印象でした。(Rustの非同期を検索すると上の方に出てくる)
57
+
58
+ > Third, there are multiple async runtimes in Rust. async-std and tokio are the two most widely used. SeaORM's underlying driver, SQLx, supports both.
59
+ > (機械翻訳)第3に、Rustには複数の非同期ランタイムがあります。async-stdとtokioが最も広く使われている2つです。SeaORMの基本ドライバであるSQLxは両方をサポートしています。
60
+ >
61
+ > [Async Programming | SeaORM 🐚 An async & dynamic ORM for Rust](https://www.sea-ql.org/SeaORM/docs/introduction/async/)
62
+
63
+ 下のリンク先なども参照してみると良いかなと思います。
64
+
65
+ [async/.await Primer - Asynchronous Programming in Rust](https://rust-lang.github.io/async-book/01_getting_started/04_async_await_primer.html)
66
+ [Async Programming | SeaORM 🐚 An async & dynamic ORM for Rust](https://www.sea-ql.org/SeaORM/docs/introduction/async/)
67
+
68
+ ---
69
+
70
+ 見当違いなことを書いてしまっていましたらごめんなさい・・
71
+ DBにはデータは登録されている前提で良いですよね?
72
+