回答編集履歴
1
DBの値を出力する件について追記しました。
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
|
+
|