96 lines
3.3 KiB
Python
96 lines
3.3 KiB
Python
import sqlite3
|
|
import config
|
|
|
|
conn = sqlite3.connect(config.DB_FILE)
|
|
c = conn.cursor()
|
|
|
|
c.execute("""
|
|
CREATE TABLE "exchange" (
|
|
"id" INTEGER,
|
|
"name" TEXT UNIQUE,
|
|
"url" TEXT,
|
|
PRIMARY KEY("id")
|
|
);
|
|
""")
|
|
c.execute("""
|
|
INSERT INTO exchange_name (name, url)
|
|
|
|
VALUES
|
|
('binance_spot','https://www.binance.com/en/trade'),
|
|
('binance_futures','https://www.binance.com/en/futures'),
|
|
('binance_coin','https://www.binance.com/en/delivery'),
|
|
('alpaca','https://app.alpaca');
|
|
""")
|
|
|
|
c.execute("""
|
|
CREATE TABLE "markets" (
|
|
"id" INTEGER,
|
|
"exchange_id" INTEGER,
|
|
"symbol" TEXT NOT NULL,
|
|
FOREIGN KEY("exchange_id") REFERENCES "exchange"("id"),
|
|
PRIMARY KEY("id")
|
|
);
|
|
""")
|
|
c.execute("""
|
|
CREATE TABLE "users" (
|
|
"id" INTEGER,
|
|
"user_name" TEXT NOT NULL,
|
|
"status" TEXT NOT NULL,
|
|
"chart_views" TEXT,
|
|
"email" TEXT,
|
|
"active_exchanges" TEXT,
|
|
"configured_exchanges" TEXT,
|
|
"password" TEXT NOT NULL,
|
|
"api_keys" TEXT,
|
|
"signin_time" INTEGER,
|
|
PRIMARY KEY("id")
|
|
);
|
|
""")
|
|
# Create indicator table
|
|
c.execute("""
|
|
CREATE TABLE "indicators" (
|
|
"id" INTEGER,
|
|
"name" TEXT NOT NULL UNIQUE,
|
|
"creator" INTEGER,
|
|
visible" TEXT,
|
|
"source" TEXT,
|
|
"properties" TEXT,
|
|
FOREIGN KEY("creator") REFERENCES "users"("id"),
|
|
PRIMARY KEY("id" AUTOINCREMENT)
|
|
);
|
|
""")
|
|
# Create the default user.
|
|
c.execute("""
|
|
INSERT INTO "main"."users"("id", "user_name", "status",
|
|
"chart_views", "email",
|
|
"active_exchanges", "configured_exchanges", "password",
|
|
"api_keys", "signin_time"
|
|
)
|
|
VALUES (NULL, 'guest', 'logged_in',
|
|
"{'exchange': 'alpaca', 'timeframe': '5m', 'market': 'BTC/USD'}", "user@email.com",
|
|
"['alpaca']", "['alpaca']","'$2b$13$lDstHtNBZEHB09t2XSMJG.PA4Nz0JYdV55QCbqIWrR8KRdqejTFxa'",
|
|
NULL, NULL
|
|
);
|
|
""")
|
|
# Create a default indicators.
|
|
c.execute("""
|
|
INSERT INTO "main"."indicators"
|
|
("name", "creator", "visible", "kind", "source", "properties")
|
|
VALUES (
|
|
"EMA 5", 1, "True", "EMA",
|
|
'{"symbol": "BTC/USD", "timeframe": "5m", "exchange_name": "alpaca"}',
|
|
'{"period": 5, "color": "#241571", "value": 0}'
|
|
);
|
|
""")
|
|
c.execute("""
|
|
INSERT INTO "main"."indicators"
|
|
("name", "creator", "visible", "kind", "source", "properties")
|
|
VALUES (
|
|
"vol", 1, "True", "Volume",
|
|
'{"symbol": "BTC/USD", "timeframe": "5m", "exchange_name": "alpaca"}',
|
|
'{"value": 0}'
|
|
);
|
|
""")
|
|
conn.commit()
|
|
conn.close()
|