Using postgresql

master
Chakib Benziane 5 years ago
parent 10949a9ba3
commit 38e55de611

@ -48,7 +48,7 @@ func (d *Database) Open() error {
log.Fatal("undefined DB_PASS env")
}
dsn := fmt.Sprintf("%s:%s@%s/%s", user, pass, host, DBName)
dsn := fmt.Sprintf("postgres://%s:%s@%s/%s?sslmode=disable", user, pass, host, DBName)
log.Printf("Opening SQL at %s\n", dsn)

@ -1,12 +1,12 @@
version: "3.4"
volumes:
db:
maria-conf:
redis-db:
postgresql:
file-storage:
#sqlite:
gocache:
#sqlite:
#maria-conf:
services:
app:
@ -16,7 +16,7 @@ services:
- GO111MODULE=on
- BIT4SAT_STORAGE_PATH=/storage
- GOPATH=/go
- DB_HOST=maria
- DB_HOST=postgres
- DB_USER=bit4sat
- DB_PASS=bit4sat
- LN_CHARGE_API=10.192.122.10:9112
@ -36,17 +36,17 @@ services:
working_dir: /src
maria:
image: mariadb:latest
environment:
- MYSQL_ROOT_PASSWORD=pass
- MYSQL_DATABASE=bit4sat
- MYSQL_USER=bit4sat
- MYSQL_PASSWORD=bit4sat
#maria:
#image: mariadb:latest
#environment:
#- MYSQL_ROOT_PASSWORD=pass
#- MYSQL_DATABASE=bit4sat
#- MYSQL_USER=bit4sat
#- MYSQL_PASSWORD=bit4sat
volumes:
- db:/var/lib/mysql
- maria-conf:/etc/mysql
#volumes:
#- db:/var/lib/mysql
#- maria-conf:/etc/mysql
postgres:
image: postgres:11.2
environment:
@ -63,7 +63,7 @@ services:
image: redis:alpine
volumes:
- db:/data
- redis-db:/data
command:
- redis-server

@ -18,21 +18,20 @@ var DB = db.DB
const (
DBUploadSchema = `
CREATE TABLE IF NOT EXISTS upload (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
upload_id CHAR(27) NOT NULL,
sha256 CHAR(64) NOT NULL,
file_name CHAR(255) NOT NULL,
file_type CHAR(255) DEFAULT '',
file_size INT NOT NULL,
file_ext CHAR(255) DEFAULT '',
status INT DEFAULT 0,
FOREIGN KEY (status) REFERENCES upload_status(type),
id serial PRIMARY KEY,
upload_id varchar(27) NOT NULL,
sha256 varchar(64) NOT NULL,
file_name varchar(255) NOT NULL,
file_type varchar(255) DEFAULT '',
file_size integer NOT NULL,
file_ext varchar(255) DEFAULT '',
status integer DEFAULT 0 REFERENCES upload_status(type),
UNIQUE (upload_id, sha256)
);
`
DBUploadView = `
CREATE VIEW IF NOT EXISTS upload_with_status
CREATE OR REPLACE VIEW upload_with_status
AS SELECT
upload.upload_id,
upload.sha256,
@ -67,7 +66,7 @@ upload.status = upload_status.type
file_size,
file_ext,
status
FROM upload WHERE sha256 = ? AND upload_id = ?`
FROM upload WHERE sha256 = $1 AND upload_id = $2`
)
const (
@ -189,9 +188,9 @@ func init() {
}
// Populate status types
query := `INSERT INTO upload_status
(type, status) VALUES(?,?)
ON DUPLICATE KEY UPDATE status = ?`
query := `INSERT INTO upload_status (type, status)
VALUES($1,$2) ON CONFLICT (type) DO UPDATE
SET status = $3`
for k, v := range UploadStatus {
_, err := DB.Sql.Exec(query, k, v, v)
if err != nil {

Loading…
Cancel
Save