---
# System prepended metadata

title: Database

---

---
title: 'Database'
---

# Feature

![](https://i.imgur.com/xHKuRMF.png)
![](https://i.imgur.com/vaUU9hq.png)

## TODO

* 沒有連上VPN的時候，也就是連不上DB的時候會出現一些無法預期的 error。要去檢查一下。

### ssh-tunnel

* 目前 ssh 沒有做檢查，連不上的話丟回來的 error 並不正確，是 go routine 那邊沒有等完error 再繼續的緣故。
* 因為許多跟 db 有關的 API沒有帶 machine 或 pipe 的資訊，所以目前做完了，還是沒有啟動。等之後 API補齊再使用。像是: /databases/{databaseID:string}/tables 
* 之後所有的 NewDatabase 之後要加上 defer db.Close()，不然 tunnel 會一直開著。


# API
==Finish==
* GET /databases
  * **list all database**
* GET /databases/{databaseID:string}
  * **get database**
* DELETE /databases/{databaseID:string}
  * **delete database**


==Pending==
* POST /databases
  * **add new database**
  * 這邊需要先 test 才准給加嗎? 同樣的問題跟 edit 一樣
* PUT /databases/{databaseID:string}
  * **edit database**

以下要加上 ssh-tunnel
* PUT /databases/test-connection
  * **test database connection**
  * Ping
* GET /databases/{databaseID:string}/tables
  * **list tables of database**
* GET /databases/{databaseID:string}/table-schemas/{tableName:string}
  * **list table schema of database**
* PUT /databases/{databaseID:string}/test-sql
  * **test sql**

# FAQ
**Q. ?**
A. 


# Testcase

