Skip to content

Commit 851151f

Browse files
schema creation in progress
1 parent b378a51 commit 851151f

File tree

4 files changed

+80
-0
lines changed

4 files changed

+80
-0
lines changed

postgres/migrations/01_networks.sql

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
CREATE TYPE network_type AS ENUM (
2+
'ethereum', 'polkadot', 'starknet'
3+
);
4+
5+
CREATE TABLE "networks"."network" (
6+
"id" uuid PRIMARY KEY NOT NULL DEFAULT uuid_generate_v4(),
7+
"created_at" TIMESTAMP(6) WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
8+
"last_modification_at" TIMESTAMP(6) WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
9+
"name" VARCHAR(50) UNIQUE
10+
"type" network_type
11+
"icon_path" VARCHAR(50) UNIQUE
12+
);
13+
14+
CREATE TABLE "networks"."alchemy_websocket_provider" (
15+
"id" uuid PRIMARY KEY NOT NULL DEFAULT uuid_generate_v4(),
16+
"created_at" TIMESTAMP(6) WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
17+
"last_modification_at" TIMESTAMP(6) WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
18+
"network_id" uuid NOT NULL
19+
"url" VARCHAR(50) NOT NULL
20+
)
21+
22+
ALTER TABLE "networks"."alchemy_websocket_provider" ADD FOREIGN KEY ("network_id") REFERENCES "networks"."network" ("id");

postgres/migrations/02_assets.sql

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
CREATE TABLE "assets"."asset" (
2+
"id" uuid PRIMARY KEY NOT NULL DEFAULT uuid_generate_v4(),
3+
"created_at" TIMESTAMP(6) WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
4+
"last_modification_at" TIMESTAMP(6) WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
5+
"name" VARCHAR(50) UNIQUE
6+
"network_id" uuid NOT NULL
7+
"icon_path" VARCHAR(50) UNIQUE
8+
);
9+
10+
ALTER TABLE "assets"."asset" ADD FOREIGN KEY ("network_id") REFERENCES "networks"."network" ("id");

postgres/migrations/03_users.sql

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
CREATE TABLE "users"."user" (
2+
"id" uuid PRIMARY KEY NOT NULL DEFAULT uuid_generate_v4(),
3+
"created_at" TIMESTAMP(6) WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
4+
"last_modification_at" TIMESTAMP(6) WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
5+
"username" CHAR(50) UNIQUE NOT NULL
6+
);
7+
8+
CREATE TABLE "users"."addresses" (
9+
"id" uuid PRIMARY KEY NOT NULL DEFAULT uuid_generate_v4(),
10+
"created_at" TIMESTAMP(6) WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
11+
"last_modification_at" TIMESTAMP(6) WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
12+
"network_id" uuid NOT NULL
13+
"address" CHAR(42) UNIQUE NOT NULL
14+
);
15+
16+
ALTER TABLE "users"."addresses" ADD FOREIGN KEY ("network_id") REFERENCES "networks"."network" ("id");
17+
18+
CREATE TABLE "users"."discord_usernames" (
19+
"id" uuid PRIMARY KEY NOT NULL DEFAULT uuid_generate_v4(),
20+
"created_at" TIMESTAMP(6) WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
21+
"last_modification_at" TIMESTAMP(6) WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
22+
"user_id" uuid NOT NULL
23+
"username" CHAR(50) UNIQUE NOT NULL
24+
);
25+
26+
ALTER TABLE "users"."discord_usernames" ADD FOREIGN KEY ("user_id") REFERENCES "users"."user" ("id");
27+
28+
CREATE TABLE "users"."telegram_usernames" (
29+
"id" uuid PRIMARY KEY NOT NULL DEFAULT uuid_generate_v4(),
30+
"created_at" TIMESTAMP(6) WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
31+
"last_modification_at" TIMESTAMP(6) WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
32+
"user_id" uuid NOT NULL
33+
"username" CHAR(50) UNIQUE NOT NULL
34+
);
35+
36+
ALTER TABLE "users"."telegram_usernames" ADD FOREIGN KEY ("user_id") REFERENCES "users"."user" ("id");

postgres/migrations/04_valuts.sql

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
CREATE TABLE "valuts"."valut" (
2+
"id" uuid PRIMARY KEY NOT NULL DEFAULT uuid_generate_v4(),
3+
"created_at" TIMESTAMP(6) WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
4+
"last_modification_at" TIMESTAMP(6) WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
5+
"user_id" uuid NOT NULL,
6+
"asset_id" uuid NOT NULL,
7+
"balance" text NOT NULL,
8+
UNIQUE ("user_id", "asset_id")
9+
);
10+
11+
ALTER TABLE "valuts" ADD FOREIGN KEY ("user_id") REFERENCES "users"."user" ("id");
12+
ALTER TABLE "valuts" ADD FOREIGN KEY ("asset_id") REFERENCES "assets"."asset" ("id");

0 commit comments

Comments
 (0)