From cfa6660abb83cfa05453fec3321a397fe5240d03 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 9 Jul 2025 10:31:53 +0200 Subject: [PATCH] Add Prisma schema, .env, and initial migration for trading bot database --- package-lock.json | 100 ++++++++++++++- package.json | 12 +- prisma/dev.db | Bin 0 -> 90112 bytes .../20250709083040_init/migration.sql | 102 ++++++++++++++++ prisma/migrations/migration_lock.toml | 3 + prisma/schema.prisma | 114 ++++++++++++++++++ 6 files changed, 323 insertions(+), 8 deletions(-) create mode 100644 prisma/dev.db create mode 100644 prisma/migrations/20250709083040_init/migration.sql create mode 100644 prisma/migrations/migration_lock.toml create mode 100644 prisma/schema.prisma diff --git a/package-lock.json b/package-lock.json index f358d76..3c68aa2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,9 @@ "name": "trading_bot_v3", "version": "0.1.0", "dependencies": { - "next": "15.3.5" + "@prisma/client": "^6.11.1", + "next": "15.3.5", + "prisma": "^6.11.1" }, "devDependencies": { "@eslint/eslintrc": "^3", @@ -892,6 +894,75 @@ "node": ">=12.4.0" } }, + "node_modules/@prisma/client": { + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/@prisma/client/-/client-6.11.1.tgz", + "integrity": "sha512-5CLFh8QP6KxRm83pJ84jaVCeSVPQr8k0L2SEtOJHwdkS57/VQDcI/wQpGmdyOZi+D9gdNabdo8tj1Uk+w+upsQ==", + "hasInstallScript": true, + "engines": { + "node": ">=18.18" + }, + "peerDependencies": { + "prisma": "*", + "typescript": ">=5.1.0" + }, + "peerDependenciesMeta": { + "prisma": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/@prisma/config": { + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/@prisma/config/-/config-6.11.1.tgz", + "integrity": "sha512-z6rCTQN741wxDq82cpdzx2uVykpnQIXalLhrWQSR0jlBVOxCIkz3HZnd8ern3uYTcWKfB3IpVAF7K2FU8t/8AQ==", + "dependencies": { + "jiti": "2.4.2" + } + }, + "node_modules/@prisma/debug": { + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-6.11.1.tgz", + "integrity": "sha512-lWRb/YSWu8l4Yum1UXfGLtqFzZkVS2ygkWYpgkbgMHn9XJlMITIgeMvJyX5GepChzhmxuSuiq/MY/kGFweOpGw==" + }, + "node_modules/@prisma/engines": { + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-6.11.1.tgz", + "integrity": "sha512-6eKEcV6V8W2eZAUwX2xTktxqPM4vnx3sxz3SDtpZwjHKpC6lhOtc4vtAtFUuf5+eEqBk+dbJ9Dcaj6uQU+FNNg==", + "hasInstallScript": true, + "dependencies": { + "@prisma/debug": "6.11.1", + "@prisma/engines-version": "6.11.1-1.f40f79ec31188888a2e33acda0ecc8fd10a853a9", + "@prisma/fetch-engine": "6.11.1", + "@prisma/get-platform": "6.11.1" + } + }, + "node_modules/@prisma/engines-version": { + "version": "6.11.1-1.f40f79ec31188888a2e33acda0ecc8fd10a853a9", + "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-6.11.1-1.f40f79ec31188888a2e33acda0ecc8fd10a853a9.tgz", + "integrity": "sha512-swFJTOOg4tHyOM1zB/pHb3MeH0i6t7jFKn5l+ZsB23d9AQACuIRo9MouvuKGvnDogzkcjbWnXi/NvOZ0+n5Jfw==" + }, + "node_modules/@prisma/fetch-engine": { + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/@prisma/fetch-engine/-/fetch-engine-6.11.1.tgz", + "integrity": "sha512-NBYzmkXTkj9+LxNPRSndaAeALOL1Gr3tjvgRYNqruIPlZ6/ixLeuE/5boYOewant58tnaYFZ5Ne0jFBPfGXHpQ==", + "dependencies": { + "@prisma/debug": "6.11.1", + "@prisma/engines-version": "6.11.1-1.f40f79ec31188888a2e33acda0ecc8fd10a853a9", + "@prisma/get-platform": "6.11.1" + } + }, + "node_modules/@prisma/get-platform": { + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-6.11.1.tgz", + "integrity": "sha512-b2Z8oV2gwvdCkFemBTFd0x4lsL4O2jLSx8lB7D+XqoFALOQZPa7eAPE1NU0Mj1V8gPHRxIsHnyUNtw2i92psUw==", + "dependencies": { + "@prisma/debug": "6.11.1" + } + }, "node_modules/@rtsao/scc": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", @@ -3823,7 +3894,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", - "dev": true, "bin": { "jiti": "lib/jiti-cli.mjs" } @@ -4691,6 +4761,30 @@ "node": ">= 0.8.0" } }, + "node_modules/prisma": { + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/prisma/-/prisma-6.11.1.tgz", + "integrity": "sha512-VzJToRlV0s9Vu2bfqHiRJw73hZNCG/AyJeX+kopbu4GATTjTUdEWUteO3p4BLYoHpMS4o8pD3v6tF44BHNZI1w==", + "hasInstallScript": true, + "dependencies": { + "@prisma/config": "6.11.1", + "@prisma/engines": "6.11.1" + }, + "bin": { + "prisma": "build/index.js" + }, + "engines": { + "node": ">=18.18" + }, + "peerDependencies": { + "typescript": ">=5.1.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -5544,7 +5638,7 @@ "version": "5.8.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", - "dev": true, + "devOptional": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" diff --git a/package.json b/package.json index 3cec49c..22f9b09 100644 --- a/package.json +++ b/package.json @@ -8,16 +8,18 @@ "start": "next start" }, "dependencies": { - "next": "15.3.5" + "@prisma/client": "^6.11.1", + "next": "15.3.5", + "prisma": "^6.11.1" }, "devDependencies": { - "typescript": "^5", + "@eslint/eslintrc": "^3", + "@tailwindcss/postcss": "^4", "@types/node": "^20", "@types/react": "^19", - "@tailwindcss/postcss": "^4", - "tailwindcss": "^4", "eslint": "^9", "eslint-config-next": "15.3.5", - "@eslint/eslintrc": "^3" + "tailwindcss": "^4", + "typescript": "^5" } } diff --git a/prisma/dev.db b/prisma/dev.db new file mode 100644 index 0000000000000000000000000000000000000000..11b64a9f5fa9312171bc016fa54370de0c1d1310 GIT binary patch literal 90112 zcmeI2U2ogg8OKE@mSWki({?MD76CY>gCn$FCBG#0MUg2o6R448S1)MOi?B3xZ+qthUyqx}Inx(#*`g;0RsW8Q*IcaWOBWIPqb}=azuSf~2 z-Czg&!xn+jjjrbe&pJQk9<%k9v&Z#Z-^25tEzPIoD_5jPzxIsX7UQPNSexH>Jl=Qv zT%n@nYnoEa-z;g0+Lxm$SJMhzs?|`Hn)Yr@DR0wny;M?mD#fjQ<*sr^yZd^tOxJA< z6cQOttHs)e&Bo_et&b_USgvWewMz63QQfv|Ry*vBsctjRXc(TMDsNS{%QrCw_3|@?W8kn&z*?*7$0Fiepq<)(QHay zT9TghFng}iu-be22Ts>*8!bNgJQoK(n0-3xoVmq8>j(H-S`F4V zXINS|v}?Rn$Q{>fOLLdXomMDz~;P zTJd(-pD@Z*wU?!4XcV_JQei=>DnTOk{;EISGRk(Dlv>hgVixk%LVi>8Q|dduIm486 z=Ehu7t}c!93qw814W`V0K0T9?FI|$J&^#g!;pekJu#BgNW$ME{jY~K|ocz$k45+nu#32;*M6{ES7IC3bQv{tLfDa!f7Q^JFe5T z#H&S8llegWzKDboGe_hMP8gB=jOD4a17>yyBpklFNm8^nNNOFD^=tKMh3dPbQr+&m*VHV-FYN5{~6PH6{D&aINR^RpsXPc1g>Z zheg(;g@6h4Vix8{i8)ebE}Ip_U5oGUFxMnUYU~YqzNq}NC~X@Dn}*do^t6Co=vh?LbpiZM>>9hjy@NY7%$uRk;$&vij1M;8lXa`C?DUaQY(ZcE;cF0}a@mH+a zhEHh4;(61v9*_usW&#N@o`p8vNG9dN<#F1GdXfw8Qb+gBrDR!_9=;O!tH4k3^KmWs zI-Uhg7Z1>EjYdVuTpOoK}#}NsJr3bTwPd|K5O3AsL^o1U<&}r4? zwxQeBp4;<1!zoj7O2Y+W$ozn1;0l!77qLX%IV5wRnfttJtMPiHCP33_Tl_w2=mu>C zj<0Z&EgFnQqxY;J3XW>f58C=$>MJT5bDdU;Ubt(R`~7bncqMIdT$;K4CH$tsQqhnj z_iuJxmsS+r-=R}wyCYs_bUH1I8lsT0!*#Q_-%_Gwq+YJlHdfmlZZMn96sD5$JGpT> z7&e@q8%{gdi>Y6jnWr0Rp_8B=Tp$1fAOHd&00JNY0w4eaAOHd&00K{mz|p*vt{=@$ zuOt%FGwfQ!+`X1vTUyWNjHOj`y|J`z~5A_W4pPv=GuC*!LF^YG&WYRuWT$|+g-W7o88!LF0U@HnC7zdhkus; z_5E^oc`bWAyOCXA$*yK~`o7`?8NW}{xTJ-@C+G(k2!H?xfB*=900@8p2!H?xfB*=9 z!2cM5#dGx^^?AWR|EGWY#{~i)00JNY0w4eaAOHd&00JNY0w6HK1pM=V#Qzg)UdngAOHd&00JNY0w4eaAOHd&00JO@^M7an1V8`;KmY_l00ck)1V8`;KmY_Lp8(GP zC*Q^xAqao~2!H?xfB*=900@8p2!H?x%%{Ff%uKVy{NEP-H20VJZ_?k+eRbjG^e59S z_1)Ch)2~W}DK5=PbN>&d)-ERH;uR@jwHxe!f7r4-rW;+)37&O+$USE3EoYDGxxRT#7DmCrh zno{1T-+HN}>{N5S6j z^@%hg&XPtsM?K|AW*z&3i52COQ#wkulkcG;gW%2lWUlgb_1GrR zb_XOJzPjb`xVC#4gOX(5h-k|4;$}fx3wsEj&Sgk|9OTIh@m({4kny5gFGtK<6<5^A144g038aocp?S{j6 z#^UW4V$5=9p~sC2NqK8=oF3!d$;BRL9^RWy$(JunUoHgdG&+_}D*zAwCgYk6lb@O# z$xl5X|LKl)pwyG{*u5AntnOil+{GP##fokCgjOt`H$CeCiSTD8kPzcpXyc7!QZ8H` zr;Vs5x$rJ^bnjeBmSySTE0Mnn{1iVQ*MhGjntP{MVVO-+eYB~Lx7@;Z&uqG;Gnw;A z`AvBokziPQFiZIK!}p|=oXbgH=m86zR&8z@x^3;bJ>N5&G8LyZTp)(b4_F4SK*@a( zOXQtHGWVIe&%3r7uQzG}G_AJ9@3V$(&{p913OCuJ!Duvk&kCa8s0RI@t-qzdqM|X^ zX|?EuyN0>n|JH$5(iX?1ncH8&Zz?Pm4LNfEX4iFTMbZ5oI#sqi;&n!+)3T@`3Mo5W zH+%anC0a)6Dk;B{8>fR|!|A!Wzs}#C z|JCe2X8)M}bNX?5Y34B{;sOB>009sH0T2LzNha{giz)fdMd|2D@U=e{Y=+?ug>|v? zm&BI2UM{{}*J$&$slD6#z!-ff>8q;xpB979k5R6A{EhNReIX^+FH1*y@cuBW3G0XP zrXS?`p{4&fEc45e-3W6}YN6Mqu;g)XURTucg(}^PcdD7Y&nM;AWa-lg5!Zv*$nQ-M zfBa%(S9+mIRPq=Er&soZtISV4dpU9zg0q*0zX<}JzGIob+l%qgrY|QJ)5HRY5oa$g z|9krAFpxI)Josu9Ya@(Pp6cnz+H)r!Qc?UV4xi$uCpe@!Axax@NcCTT^T%;j6ugG> z0LN8l@|FL!bW;A&U-|L>|C79_!Pr0m1V8`;KmY_l00ck)1V8`;K%hqe@jsLR0w4ea xAOHd&00JNY0w4eaAOHfBPXO`%