Wednesday, November 2, 2022

Surreal DB

 


Surreal DB does not start on alpine container, 

use ubuntu container instead 


1. Create an Ubuntu container 


docker run -d -p 17000:8000 --name ub_surreal ubuntu tail -f /dev/null


2. Exec the container  in it mode


docker exec -it -u 0 ub_surreal sh


3. Update apt  ( this is required to install curl)


apt update


This will take some time may be 2-3 mins because apt coming with container is bare minimum


4. Install curl

 

apt install curl


Press 'Y' when prompted 


5. 


curl -sSf https://install.surrealdb.com | sh


This will install surreal db. 


6. Start surreal db


surreal start --log debug --user root --pass root memory


This will start surreal and keep it started. 


7. Open another command prompt and again open the same container with EXEC command: 


docker exec -it -u 0 ub_surreal sh


8. Now you can give the command and use surrealdb. 

For example you can give the following command: 


curl --request POST --header "Accept: application/json"    --header "NS: test" --header "DB:test" --user "root:root"  --data "INFO FOR DB;"  http://localhost:8000/sql


you should get a response like 

[{"time" : "47.432ms" , "status" : "OK" , "result" : { "d1" : {} , "dt" : {}, "sc" : {} , "tb" : {}}}]









https://www.freecodecamp.org/news/how-to-use-surrealdb-with-fresh-framework/



========================================================================

Start Surreal using dockerfile


1. Execute the following dockerfile:

========================================================================

Dockerfile

========================================================================

FROM ubuntu

RUN apt update 

RUN apt-get install -y  curl 

RUN curl -sSf https://install.surrealdb.com | sh

CMD surreal start --log debug --user root --pass root memory

========================================================================



NOTE the use of  apt and apt-get : apt-get has more features than apt, 

i.e. apt is a stripped down vesrion of apt-get



2. Build the above docker file:


docker build  -t surreal-image . 


NOTE : image name must be all smalls.


3. Run it: 

docker run -p 17000:8000 -d --name surrealdb surreal-image


4. Execute it: 

docker exec -it -u 0 surrealdb sh


5. Execute the following command on shell: 

surreal sql -c http://localhost:8000


You will be presented with surreal sql prompt. ( >) 


>info for db <Enter>

[{"time" : "23.728ms" , "status" : "ERR" , "detail" : "Specify a namespace to use"}]



6. Now exit sql shell by pressing ctrl + C and enter the following command: 

surreal sql -c http://localhost:8000 --ns test --db test

>info for db


[{"time" : "50.292ms" , "status" : "OK" , "result" : { "d1" : {} , "dt" : {}, "sc" : {} , "tb" : {}}}]


> create account set name = 'test' , created_at = time::now()



> 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();


> select * from author, account;


Odds Ratio (OR), Logistic Regression Interpretation vs. Prediction, and Ordinal Logistic Regression

An odds ratio (OR) measures the association between an exposure and an outcome. It represents the odds that an outcome will occur given ...