2022年12月27日

SurrealDB

史上最強のデータベース、SurrealDB - Qiita を参考にやってみたこと。

Ubutu22.04LTSを手元の旧機器にインストールしてテスト

01 
Ubuntuのインストール時に、ユーザー名を t20 としました
001_t20_2.png

02
Ubutuにログイン後、
ChromeをGUIで、インストール
001_t20 15-10-47.png

02
sudo apt install net-tools
ifconfig
002_ifconfig.png

03
ifconfig で、ipアドレスを確認 今回、この機器 192.168.24.63 でした
003_ifconfig.png

04
curlが必要なので
sudo apt install curl
004_curl.png
005_curl.png

05
ここから、SurrealDB の実行 (コマンドは3行のみで起動)
1行目
sudo curl -sSf https://install.surrealdb.com | sh
006_sur.png

06
2行目
PATH=/home/t20/.surrealdb:$PATH
t20は、Ubuntuのインストール時のユーザー名です
007_path15-25-34.png

07
インメモリで起動
surreal start --log debug --user root --pass root memory
008_sur_start.png
SurrealDBが起動中
009_sur_sart.png

08
Qitaの記事をもとに、REST のツールとして insomnia を使用するようで、最初、使い方がよくわらなかったのですが、
Insomniaを別の機器のWindows10のにインストールしてみました
01.png
02.png
ブラウザで日本語化で、参照
03.png
ダウンロード
04.png

09
セットアップを開始

05.png

06.png
07.png

10
Qita記事をもとに、 insomnia を設定し、実行してみます(insomnia で ローカルネットワーク内での 外部接続の確認)

 Qita記事から
  HTTPリクエスト
  URL: http://localhost:8000/sql は今回  http://192.138.24.63:8000/sqlは
  メソッド: POST
  Basic認証: ユーザ: root、パスワード: root
  ヘッダ
  Accept: application/json
  NS: test
  DB: test
  ボディ: SurrealQLの問い合わせ文
を設定していきます

08.png

http://192.138.24.63:8000/sql が正解で、 http://192.138.24.63/sql は間違い、エラーとなりますので後で修正します
09.png

BodyのプルダウンからPlanを選択(OtherでもOKそうです)
10.png

 Qita記事から
  問い合わせ例
  上記のHTTPリクエストのボディ部分に各SurrealQLの問い合わせ文を入れて送る。
  接続テスト
INFO FOR DB;
11.png

 Qita記事から
  Basic認証: ユーザ: root、パスワード: root
12.png
13.png

 Qita記事から
  ヘッダ
  Accept: application/json
  NS: test
  DB: test
14.png
15.png
16.png


11 
SEND ボタンを押します
 http://192.138.24.63/sql は間違い、エラーとなりますので後で修正します
17_err.png

http://192.138.24.63:8000/sql が正解
18.png

12
問い合わせ例の
 レコード追加
CREATE account SET
name = 'ACME Inc',
created_at = time::now()
19.png

CREATE author:john SET
name.first = 'John',
name.last = 'Adams',
name.full = string::join(' ', name.first, name.last),
age = 29,
admin = true,
signup_at = time::now();
20.png
CREATE article SET
created_at = time::now(),
author = author:john,
title = 'Lorem ipsum dolor',
text = 'Donec eleifend, nunc vitae commodo accumsan, mauris est fringilla.',
account = (SELECT id FROM account WHERE name = 'ACME Inc' LIMIT 1);
21.png

13
問い合わせ例の
 レコード取得
SELECT * FROM article;
22.png
SELECT * FROM article, account;
23.png
SELECT * FROM article WHERE author.age < 30 FETCH author, account;
24.png

あとは、Qitaの記事や本家のドキュメントをもとに、いろいろ、お試しできると思います

14
POSTMAN で 接続エラー
Cloud Agent Error: Can not send requests to reserved address. Make sure address is publicly accessible or select a different agent.
01.png
Postman Web サイトは、コンピューターのローカルホストに要求を送信できません
Postman Website cannot send a request to your computer's localhost. It first needs to connect to your PC with the Postman desktop client.
と、ここにありました

ここからデスクトップ版をダウンロードして
22.png































insomnia で ローカル機器内 接続の確認

insomnia で ローカルネットワークでの 外部接続の確認

POSTMAN 接続エラー

REST Debugger  接続エラー

TMS WebCORE



posted by a23 at 15:47| Comment(0) | REST API
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス: [必須入力]

ホームページアドレス: [必須入力]

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。