1021 lines
51 KiB
C#
1021 lines
51 KiB
C#
using System;
|
|
using Microsoft.EntityFrameworkCore.Migrations;
|
|
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
|
|
|
#nullable disable
|
|
|
|
namespace Managing.Infrastructure.Databases.Migrations
|
|
{
|
|
/// <inheritdoc />
|
|
public partial class Init : Migration
|
|
{
|
|
/// <inheritdoc />
|
|
protected override void Up(MigrationBuilder migrationBuilder)
|
|
{
|
|
migrationBuilder.CreateTable(
|
|
name: "Backtests",
|
|
columns: table => new
|
|
{
|
|
Id = table.Column<int>(type: "integer", nullable: false)
|
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
|
Identifier = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false),
|
|
RequestId = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false),
|
|
FinalPnl = table.Column<decimal>(type: "numeric(18,8)", nullable: false),
|
|
WinRate = table.Column<int>(type: "integer", nullable: false),
|
|
GrowthPercentage = table.Column<decimal>(type: "numeric(18,8)", nullable: false),
|
|
HodlPercentage = table.Column<decimal>(type: "numeric(18,8)", nullable: false),
|
|
ConfigJson = table.Column<string>(type: "jsonb", nullable: false),
|
|
PositionsJson = table.Column<string>(type: "jsonb", nullable: false),
|
|
SignalsJson = table.Column<string>(type: "jsonb", nullable: false),
|
|
StartDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
|
EndDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
|
MoneyManagementJson = table.Column<string>(type: "jsonb", nullable: false),
|
|
UserName = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false),
|
|
StatisticsJson = table.Column<string>(type: "jsonb", nullable: true),
|
|
Fees = table.Column<decimal>(type: "numeric(18,8)", nullable: false),
|
|
Score = table.Column<double>(type: "double precision", nullable: false),
|
|
ScoreMessage = table.Column<string>(type: "text", maxLength: 1000, nullable: false),
|
|
Metadata = table.Column<string>(type: "text", nullable: true),
|
|
CreatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
|
UpdatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("PK_Backtests", x => x.Id);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "FundingRates",
|
|
columns: table => new
|
|
{
|
|
Id = table.Column<int>(type: "integer", nullable: false)
|
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
|
Ticker = table.Column<int>(type: "integer", nullable: false),
|
|
Exchange = table.Column<int>(type: "integer", nullable: false),
|
|
Rate = table.Column<decimal>(type: "numeric(18,8)", precision: 18, scale: 8, nullable: false),
|
|
OpenInterest = table.Column<decimal>(type: "numeric(18,8)", precision: 18, scale: 8, nullable: false),
|
|
Date = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
|
Direction = table.Column<int>(type: "integer", nullable: false),
|
|
CreatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
|
UpdatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("PK_FundingRates", x => x.Id);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "Indicators",
|
|
columns: table => new
|
|
{
|
|
Id = table.Column<int>(type: "integer", nullable: false)
|
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
|
Name = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false),
|
|
Type = table.Column<string>(type: "text", nullable: false),
|
|
Timeframe = table.Column<string>(type: "text", nullable: false),
|
|
SignalType = table.Column<string>(type: "text", nullable: false),
|
|
MinimumHistory = table.Column<int>(type: "integer", nullable: false),
|
|
Period = table.Column<int>(type: "integer", nullable: true),
|
|
FastPeriods = table.Column<int>(type: "integer", nullable: true),
|
|
SlowPeriods = table.Column<int>(type: "integer", nullable: true),
|
|
SignalPeriods = table.Column<int>(type: "integer", nullable: true),
|
|
Multiplier = table.Column<double>(type: "double precision", nullable: true),
|
|
StochPeriods = table.Column<int>(type: "integer", nullable: true),
|
|
SmoothPeriods = table.Column<int>(type: "integer", nullable: true),
|
|
CyclePeriods = table.Column<int>(type: "integer", nullable: true),
|
|
UserName = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: true),
|
|
CreatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
|
UpdatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("PK_Indicators", x => x.Id);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "Scenarios",
|
|
columns: table => new
|
|
{
|
|
Id = table.Column<int>(type: "integer", nullable: false)
|
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
|
Name = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false),
|
|
LoopbackPeriod = table.Column<int>(type: "integer", nullable: false),
|
|
UserName = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: true),
|
|
CreatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
|
UpdatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("PK_Scenarios", x => x.Id);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "Signals",
|
|
columns: table => new
|
|
{
|
|
Id = table.Column<int>(type: "integer", nullable: false)
|
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
|
Identifier = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false),
|
|
Direction = table.Column<string>(type: "text", nullable: false),
|
|
Confidence = table.Column<string>(type: "text", nullable: false),
|
|
Date = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
|
Ticker = table.Column<string>(type: "text", nullable: false),
|
|
Status = table.Column<string>(type: "text", nullable: false),
|
|
Timeframe = table.Column<string>(type: "text", nullable: false),
|
|
Type = table.Column<string>(type: "text", nullable: false),
|
|
SignalType = table.Column<string>(type: "text", nullable: false),
|
|
IndicatorName = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false),
|
|
UserName = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: true),
|
|
CandleJson = table.Column<string>(type: "text", nullable: true),
|
|
CreatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
|
UpdatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("PK_Signals", x => x.Id);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "SpotlightOverviews",
|
|
columns: table => new
|
|
{
|
|
Id = table.Column<int>(type: "integer", nullable: false)
|
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
|
Identifier = table.Column<Guid>(type: "uuid", nullable: false),
|
|
DateTime = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
|
ScenarioCount = table.Column<int>(type: "integer", nullable: false),
|
|
SpotlightsJson = table.Column<string>(type: "jsonb", nullable: false),
|
|
CreatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
|
UpdatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("PK_SpotlightOverviews", x => x.Id);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "SynthMinersLeaderboards",
|
|
columns: table => new
|
|
{
|
|
Id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
Asset = table.Column<string>(type: "character varying(32)", maxLength: 32, nullable: false),
|
|
TimeIncrement = table.Column<int>(type: "integer", nullable: false),
|
|
SignalDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: true),
|
|
IsBacktest = table.Column<bool>(type: "boolean", nullable: false),
|
|
MinersData = table.Column<string>(type: "jsonb", nullable: false),
|
|
CacheKey = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false),
|
|
CreatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("PK_SynthMinersLeaderboards", x => x.Id);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "SynthPredictions",
|
|
columns: table => new
|
|
{
|
|
Id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
Asset = table.Column<string>(type: "character varying(32)", maxLength: 32, nullable: false),
|
|
MinerUid = table.Column<int>(type: "integer", nullable: false),
|
|
TimeIncrement = table.Column<int>(type: "integer", nullable: false),
|
|
TimeLength = table.Column<int>(type: "integer", nullable: false),
|
|
SignalDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: true),
|
|
IsBacktest = table.Column<bool>(type: "boolean", nullable: false),
|
|
PredictionData = table.Column<string>(type: "jsonb", nullable: false),
|
|
CacheKey = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false),
|
|
CreatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("PK_SynthPredictions", x => x.Id);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "TopVolumeTickers",
|
|
columns: table => new
|
|
{
|
|
Id = table.Column<int>(type: "integer", nullable: false)
|
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
|
Ticker = table.Column<int>(type: "integer", nullable: false),
|
|
Date = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
|
Volume = table.Column<decimal>(type: "numeric(18,8)", precision: 18, scale: 8, nullable: false),
|
|
Rank = table.Column<int>(type: "integer", nullable: false),
|
|
Exchange = table.Column<int>(type: "integer", nullable: false),
|
|
CreatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
|
UpdatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("PK_TopVolumeTickers", x => x.Id);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "Traders",
|
|
columns: table => new
|
|
{
|
|
Id = table.Column<int>(type: "integer", nullable: false)
|
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
|
Address = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false),
|
|
Winrate = table.Column<int>(type: "integer", nullable: false),
|
|
Pnl = table.Column<decimal>(type: "numeric(18,8)", precision: 18, scale: 8, nullable: false),
|
|
TradeCount = table.Column<int>(type: "integer", nullable: false),
|
|
AverageWin = table.Column<decimal>(type: "numeric(18,8)", precision: 18, scale: 8, nullable: false),
|
|
AverageLoss = table.Column<decimal>(type: "numeric(18,8)", precision: 18, scale: 8, nullable: false),
|
|
Roi = table.Column<decimal>(type: "numeric(18,8)", precision: 18, scale: 8, nullable: false),
|
|
IsBestTrader = table.Column<bool>(type: "boolean", nullable: false),
|
|
CreatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
|
UpdatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("PK_Traders", x => x.Id);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "Trades",
|
|
columns: table => new
|
|
{
|
|
Id = table.Column<int>(type: "integer", nullable: false)
|
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
|
Date = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
|
Direction = table.Column<string>(type: "text", nullable: false),
|
|
Status = table.Column<string>(type: "text", nullable: false),
|
|
TradeType = table.Column<string>(type: "text", nullable: false),
|
|
Ticker = table.Column<string>(type: "text", nullable: false),
|
|
Fee = table.Column<decimal>(type: "numeric(18,8)", nullable: false),
|
|
Quantity = table.Column<decimal>(type: "numeric(18,8)", nullable: false),
|
|
Price = table.Column<decimal>(type: "numeric(18,8)", nullable: false),
|
|
Leverage = table.Column<decimal>(type: "numeric(18,8)", nullable: false),
|
|
ExchangeOrderId = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: true),
|
|
Message = table.Column<string>(type: "text", nullable: true),
|
|
CreatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
|
UpdatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("PK_Trades", x => x.Id);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "Users",
|
|
columns: table => new
|
|
{
|
|
Id = table.Column<int>(type: "integer", nullable: false)
|
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
|
Name = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false),
|
|
AgentName = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: true),
|
|
AvatarUrl = table.Column<string>(type: "character varying(500)", maxLength: 500, nullable: true),
|
|
TelegramChannel = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: true)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("PK_Users", x => x.Id);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "Workers",
|
|
columns: table => new
|
|
{
|
|
Id = table.Column<int>(type: "integer", nullable: false)
|
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
|
WorkerType = table.Column<string>(type: "text", nullable: false),
|
|
StartTime = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
|
LastRunTime = table.Column<DateTime>(type: "timestamp with time zone", nullable: true),
|
|
ExecutionCount = table.Column<int>(type: "integer", nullable: false),
|
|
DelayTicks = table.Column<long>(type: "bigint", nullable: false),
|
|
IsActive = table.Column<bool>(type: "boolean", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("PK_Workers", x => x.Id);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "ScenarioIndicators",
|
|
columns: table => new
|
|
{
|
|
Id = table.Column<int>(type: "integer", nullable: false)
|
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
|
ScenarioId = table.Column<int>(type: "integer", nullable: false),
|
|
IndicatorId = table.Column<int>(type: "integer", nullable: false),
|
|
CreatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("PK_ScenarioIndicators", x => x.Id);
|
|
table.ForeignKey(
|
|
name: "FK_ScenarioIndicators_Indicators_IndicatorId",
|
|
column: x => x.IndicatorId,
|
|
principalTable: "Indicators",
|
|
principalColumn: "Id",
|
|
onDelete: ReferentialAction.Cascade);
|
|
table.ForeignKey(
|
|
name: "FK_ScenarioIndicators_Scenarios_ScenarioId",
|
|
column: x => x.ScenarioId,
|
|
principalTable: "Scenarios",
|
|
principalColumn: "Id",
|
|
onDelete: ReferentialAction.Cascade);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "Positions",
|
|
columns: table => new
|
|
{
|
|
Identifier = table.Column<Guid>(type: "uuid", nullable: false),
|
|
Date = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
|
ProfitAndLoss = table.Column<decimal>(type: "numeric(18,8)", nullable: false),
|
|
OriginDirection = table.Column<string>(type: "text", nullable: false),
|
|
Status = table.Column<string>(type: "text", nullable: false),
|
|
Ticker = table.Column<string>(type: "text", nullable: false),
|
|
Initiator = table.Column<string>(type: "text", nullable: false),
|
|
SignalIdentifier = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false),
|
|
AccountName = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false),
|
|
UserName = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: true),
|
|
OpenTradeId = table.Column<int>(type: "integer", nullable: true),
|
|
StopLossTradeId = table.Column<int>(type: "integer", nullable: true),
|
|
TakeProfit1TradeId = table.Column<int>(type: "integer", nullable: true),
|
|
TakeProfit2TradeId = table.Column<int>(type: "integer", nullable: true),
|
|
MoneyManagementJson = table.Column<string>(type: "text", nullable: true),
|
|
CreatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
|
UpdatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("PK_Positions", x => x.Identifier);
|
|
table.ForeignKey(
|
|
name: "FK_Positions_Trades_OpenTradeId",
|
|
column: x => x.OpenTradeId,
|
|
principalTable: "Trades",
|
|
principalColumn: "Id",
|
|
onDelete: ReferentialAction.SetNull);
|
|
table.ForeignKey(
|
|
name: "FK_Positions_Trades_StopLossTradeId",
|
|
column: x => x.StopLossTradeId,
|
|
principalTable: "Trades",
|
|
principalColumn: "Id",
|
|
onDelete: ReferentialAction.SetNull);
|
|
table.ForeignKey(
|
|
name: "FK_Positions_Trades_TakeProfit1TradeId",
|
|
column: x => x.TakeProfit1TradeId,
|
|
principalTable: "Trades",
|
|
principalColumn: "Id",
|
|
onDelete: ReferentialAction.SetNull);
|
|
table.ForeignKey(
|
|
name: "FK_Positions_Trades_TakeProfit2TradeId",
|
|
column: x => x.TakeProfit2TradeId,
|
|
principalTable: "Trades",
|
|
principalColumn: "Id",
|
|
onDelete: ReferentialAction.SetNull);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "Accounts",
|
|
columns: table => new
|
|
{
|
|
Id = table.Column<int>(type: "integer", nullable: false)
|
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
|
Name = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false),
|
|
Exchange = table.Column<string>(type: "text", nullable: false),
|
|
Type = table.Column<string>(type: "text", nullable: false),
|
|
Key = table.Column<string>(type: "character varying(500)", maxLength: 500, nullable: true),
|
|
Secret = table.Column<string>(type: "character varying(500)", maxLength: 500, nullable: true),
|
|
UserId = table.Column<int>(type: "integer", nullable: true)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("PK_Accounts", x => x.Id);
|
|
table.ForeignKey(
|
|
name: "FK_Accounts_Users_UserId",
|
|
column: x => x.UserId,
|
|
principalTable: "Users",
|
|
principalColumn: "Id",
|
|
onDelete: ReferentialAction.SetNull);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "AgentSummaries",
|
|
columns: table => new
|
|
{
|
|
Id = table.Column<int>(type: "integer", nullable: false)
|
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
|
UserId = table.Column<int>(type: "integer", nullable: false),
|
|
AgentName = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false),
|
|
TotalPnL = table.Column<decimal>(type: "numeric(18,8)", nullable: false),
|
|
TotalROI = table.Column<decimal>(type: "numeric(18,8)", nullable: false),
|
|
Wins = table.Column<int>(type: "integer", nullable: false),
|
|
Losses = table.Column<int>(type: "integer", nullable: false),
|
|
Runtime = table.Column<DateTime>(type: "timestamp with time zone", nullable: true),
|
|
CreatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
|
UpdatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
|
ActiveStrategiesCount = table.Column<int>(type: "integer", nullable: false),
|
|
TotalVolume = table.Column<decimal>(type: "numeric(18,8)", precision: 18, scale: 8, nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("PK_AgentSummaries", x => x.Id);
|
|
table.ForeignKey(
|
|
name: "FK_AgentSummaries_Users_UserId",
|
|
column: x => x.UserId,
|
|
principalTable: "Users",
|
|
principalColumn: "Id",
|
|
onDelete: ReferentialAction.Cascade);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "Bots",
|
|
columns: table => new
|
|
{
|
|
Identifier = table.Column<Guid>(type: "uuid", maxLength: 255, nullable: false),
|
|
Name = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false),
|
|
Ticker = table.Column<int>(type: "integer", nullable: false),
|
|
UserId = table.Column<int>(type: "integer", nullable: false),
|
|
Status = table.Column<string>(type: "text", nullable: false),
|
|
CreateDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
|
UpdatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
|
StartupTime = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
|
TradeWins = table.Column<int>(type: "integer", nullable: false),
|
|
TradeLosses = table.Column<int>(type: "integer", nullable: false),
|
|
Pnl = table.Column<decimal>(type: "numeric(18,8)", precision: 18, scale: 8, nullable: false),
|
|
Roi = table.Column<decimal>(type: "numeric(18,8)", precision: 18, scale: 8, nullable: false),
|
|
Volume = table.Column<decimal>(type: "numeric(18,8)", precision: 18, scale: 8, nullable: false),
|
|
Fees = table.Column<decimal>(type: "numeric(18,8)", precision: 18, scale: 8, nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("PK_Bots", x => x.Identifier);
|
|
table.ForeignKey(
|
|
name: "FK_Bots_Users_UserId",
|
|
column: x => x.UserId,
|
|
principalTable: "Users",
|
|
principalColumn: "Id",
|
|
onDelete: ReferentialAction.SetNull);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "BundleBacktestRequests",
|
|
columns: table => new
|
|
{
|
|
Id = table.Column<int>(type: "integer", nullable: false)
|
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
|
RequestId = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false),
|
|
UserName = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false),
|
|
UserId = table.Column<int>(type: "integer", nullable: true),
|
|
CreatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
|
CompletedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: true),
|
|
Status = table.Column<string>(type: "text", nullable: false),
|
|
BacktestRequestsJson = table.Column<string>(type: "text", nullable: false),
|
|
TotalBacktests = table.Column<int>(type: "integer", nullable: false),
|
|
CompletedBacktests = table.Column<int>(type: "integer", nullable: false),
|
|
FailedBacktests = table.Column<int>(type: "integer", nullable: false),
|
|
ErrorMessage = table.Column<string>(type: "text", nullable: true),
|
|
ProgressInfo = table.Column<string>(type: "text", nullable: true),
|
|
CurrentBacktest = table.Column<string>(type: "character varying(500)", maxLength: 500, nullable: true),
|
|
EstimatedTimeRemainingSeconds = table.Column<int>(type: "integer", nullable: true),
|
|
Name = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false),
|
|
ResultsJson = table.Column<string>(type: "jsonb", nullable: false),
|
|
UpdatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("PK_BundleBacktestRequests", x => x.Id);
|
|
table.ForeignKey(
|
|
name: "FK_BundleBacktestRequests_Users_UserId",
|
|
column: x => x.UserId,
|
|
principalTable: "Users",
|
|
principalColumn: "Id",
|
|
onDelete: ReferentialAction.SetNull);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "GeneticRequests",
|
|
columns: table => new
|
|
{
|
|
Id = table.Column<int>(type: "integer", nullable: false)
|
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
|
RequestId = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false),
|
|
UserId = table.Column<int>(type: "integer", nullable: true),
|
|
CreatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
|
CompletedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: true),
|
|
UpdatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: true),
|
|
Status = table.Column<string>(type: "character varying(50)", maxLength: 50, nullable: false),
|
|
Ticker = table.Column<string>(type: "text", nullable: false),
|
|
Timeframe = table.Column<string>(type: "text", nullable: false),
|
|
StartDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
|
EndDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
|
Balance = table.Column<decimal>(type: "numeric(18,8)", nullable: false),
|
|
PopulationSize = table.Column<int>(type: "integer", nullable: false),
|
|
Generations = table.Column<int>(type: "integer", nullable: false),
|
|
MutationRate = table.Column<double>(type: "double precision", nullable: false),
|
|
SelectionMethod = table.Column<string>(type: "text", nullable: false),
|
|
CrossoverMethod = table.Column<string>(type: "text", nullable: false),
|
|
MutationMethod = table.Column<string>(type: "text", nullable: false),
|
|
ElitismPercentage = table.Column<int>(type: "integer", nullable: false),
|
|
MaxTakeProfit = table.Column<double>(type: "double precision", nullable: false),
|
|
EligibleIndicatorsJson = table.Column<string>(type: "character varying(2000)", maxLength: 2000, nullable: true),
|
|
BestFitness = table.Column<double>(type: "double precision", nullable: true),
|
|
BestIndividual = table.Column<string>(type: "character varying(4000)", maxLength: 4000, nullable: true),
|
|
ErrorMessage = table.Column<string>(type: "character varying(2000)", maxLength: 2000, nullable: true),
|
|
ProgressInfo = table.Column<string>(type: "character varying(4000)", maxLength: 4000, nullable: true),
|
|
BestChromosome = table.Column<string>(type: "character varying(4000)", maxLength: 4000, nullable: true),
|
|
BestFitnessSoFar = table.Column<double>(type: "double precision", nullable: true),
|
|
CurrentGeneration = table.Column<int>(type: "integer", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("PK_GeneticRequests", x => x.Id);
|
|
table.ForeignKey(
|
|
name: "FK_GeneticRequests_Users_UserId",
|
|
column: x => x.UserId,
|
|
principalTable: "Users",
|
|
principalColumn: "Id",
|
|
onDelete: ReferentialAction.SetNull);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "MoneyManagements",
|
|
columns: table => new
|
|
{
|
|
Id = table.Column<int>(type: "integer", nullable: false)
|
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
|
Name = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: false),
|
|
Timeframe = table.Column<string>(type: "text", nullable: false),
|
|
StopLoss = table.Column<decimal>(type: "numeric(18,8)", nullable: false),
|
|
TakeProfit = table.Column<decimal>(type: "numeric(18,8)", nullable: false),
|
|
Leverage = table.Column<decimal>(type: "numeric(18,8)", nullable: false),
|
|
UserName = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: true),
|
|
UserId = table.Column<int>(type: "integer", nullable: true),
|
|
CreatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
|
UpdatedAt = table.Column<DateTime>(type: "timestamp with time zone", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("PK_MoneyManagements", x => x.Id);
|
|
table.ForeignKey(
|
|
name: "FK_MoneyManagements_Users_UserId",
|
|
column: x => x.UserId,
|
|
principalTable: "Users",
|
|
principalColumn: "Id",
|
|
onDelete: ReferentialAction.SetNull);
|
|
});
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Accounts_Name",
|
|
table: "Accounts",
|
|
column: "Name",
|
|
unique: true);
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Accounts_UserId",
|
|
table: "Accounts",
|
|
column: "UserId");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_AgentSummaries_AgentName",
|
|
table: "AgentSummaries",
|
|
column: "AgentName");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_AgentSummaries_TotalPnL",
|
|
table: "AgentSummaries",
|
|
column: "TotalPnL");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_AgentSummaries_UserId",
|
|
table: "AgentSummaries",
|
|
column: "UserId",
|
|
unique: true);
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Backtests_Identifier",
|
|
table: "Backtests",
|
|
column: "Identifier",
|
|
unique: true);
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Backtests_RequestId",
|
|
table: "Backtests",
|
|
column: "RequestId");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Backtests_RequestId_Score",
|
|
table: "Backtests",
|
|
columns: new[] { "RequestId", "Score" });
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Backtests_Score",
|
|
table: "Backtests",
|
|
column: "Score");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Backtests_UserName",
|
|
table: "Backtests",
|
|
column: "UserName");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Backtests_UserName_Score",
|
|
table: "Backtests",
|
|
columns: new[] { "UserName", "Score" });
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Bots_Identifier",
|
|
table: "Bots",
|
|
column: "Identifier",
|
|
unique: true);
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Bots_Status",
|
|
table: "Bots",
|
|
column: "Status");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Bots_UserId",
|
|
table: "Bots",
|
|
column: "UserId");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_BundleBacktestRequests_RequestId",
|
|
table: "BundleBacktestRequests",
|
|
column: "RequestId",
|
|
unique: true);
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_BundleBacktestRequests_Status",
|
|
table: "BundleBacktestRequests",
|
|
column: "Status");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_BundleBacktestRequests_UserId",
|
|
table: "BundleBacktestRequests",
|
|
column: "UserId");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_BundleBacktestRequests_UserName",
|
|
table: "BundleBacktestRequests",
|
|
column: "UserName");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_BundleBacktestRequests_UserName_CreatedAt",
|
|
table: "BundleBacktestRequests",
|
|
columns: new[] { "UserName", "CreatedAt" });
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_FundingRates_Date",
|
|
table: "FundingRates",
|
|
column: "Date");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_FundingRates_Exchange",
|
|
table: "FundingRates",
|
|
column: "Exchange");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_FundingRates_Exchange_Date",
|
|
table: "FundingRates",
|
|
columns: new[] { "Exchange", "Date" });
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_FundingRates_Ticker",
|
|
table: "FundingRates",
|
|
column: "Ticker");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_FundingRates_Ticker_Exchange",
|
|
table: "FundingRates",
|
|
columns: new[] { "Ticker", "Exchange" });
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_FundingRates_Ticker_Exchange_Date",
|
|
table: "FundingRates",
|
|
columns: new[] { "Ticker", "Exchange", "Date" },
|
|
unique: true);
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_GeneticRequests_RequestId",
|
|
table: "GeneticRequests",
|
|
column: "RequestId",
|
|
unique: true);
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_GeneticRequests_Status",
|
|
table: "GeneticRequests",
|
|
column: "Status");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_GeneticRequests_UserId",
|
|
table: "GeneticRequests",
|
|
column: "UserId");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Indicators_UserName",
|
|
table: "Indicators",
|
|
column: "UserName");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Indicators_UserName_Name",
|
|
table: "Indicators",
|
|
columns: new[] { "UserName", "Name" });
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_MoneyManagements_UserId",
|
|
table: "MoneyManagements",
|
|
column: "UserId");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_MoneyManagements_UserName",
|
|
table: "MoneyManagements",
|
|
column: "UserName");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_MoneyManagements_UserName_Name",
|
|
table: "MoneyManagements",
|
|
columns: new[] { "UserName", "Name" });
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Positions_Date",
|
|
table: "Positions",
|
|
column: "Date");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Positions_Identifier",
|
|
table: "Positions",
|
|
column: "Identifier",
|
|
unique: true);
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Positions_OpenTradeId",
|
|
table: "Positions",
|
|
column: "OpenTradeId");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Positions_Status",
|
|
table: "Positions",
|
|
column: "Status");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Positions_StopLossTradeId",
|
|
table: "Positions",
|
|
column: "StopLossTradeId");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Positions_TakeProfit1TradeId",
|
|
table: "Positions",
|
|
column: "TakeProfit1TradeId");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Positions_TakeProfit2TradeId",
|
|
table: "Positions",
|
|
column: "TakeProfit2TradeId");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Positions_UserName",
|
|
table: "Positions",
|
|
column: "UserName");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Positions_UserName_Identifier",
|
|
table: "Positions",
|
|
columns: new[] { "UserName", "Identifier" });
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_ScenarioIndicators_IndicatorId",
|
|
table: "ScenarioIndicators",
|
|
column: "IndicatorId");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_ScenarioIndicators_ScenarioId_IndicatorId",
|
|
table: "ScenarioIndicators",
|
|
columns: new[] { "ScenarioId", "IndicatorId" },
|
|
unique: true);
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Scenarios_UserName",
|
|
table: "Scenarios",
|
|
column: "UserName");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Scenarios_UserName_Name",
|
|
table: "Scenarios",
|
|
columns: new[] { "UserName", "Name" });
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Signals_Date",
|
|
table: "Signals",
|
|
column: "Date");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Signals_Identifier",
|
|
table: "Signals",
|
|
column: "Identifier");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Signals_Identifier_Date_UserName",
|
|
table: "Signals",
|
|
columns: new[] { "Identifier", "Date", "UserName" },
|
|
unique: true);
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Signals_Status",
|
|
table: "Signals",
|
|
column: "Status");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Signals_Ticker",
|
|
table: "Signals",
|
|
column: "Ticker");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Signals_UserName",
|
|
table: "Signals",
|
|
column: "UserName");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Signals_UserName_Date",
|
|
table: "Signals",
|
|
columns: new[] { "UserName", "Date" });
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_SpotlightOverviews_DateTime",
|
|
table: "SpotlightOverviews",
|
|
column: "DateTime");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_SpotlightOverviews_DateTime_ScenarioCount",
|
|
table: "SpotlightOverviews",
|
|
columns: new[] { "DateTime", "ScenarioCount" });
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_SpotlightOverviews_Identifier",
|
|
table: "SpotlightOverviews",
|
|
column: "Identifier",
|
|
unique: true);
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_SynthMinersLeaderboards_CacheKey",
|
|
table: "SynthMinersLeaderboards",
|
|
column: "CacheKey",
|
|
unique: true);
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_SynthPredictions_CacheKey",
|
|
table: "SynthPredictions",
|
|
column: "CacheKey",
|
|
unique: true);
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_TopVolumeTickers_Date",
|
|
table: "TopVolumeTickers",
|
|
column: "Date");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_TopVolumeTickers_Date_Rank",
|
|
table: "TopVolumeTickers",
|
|
columns: new[] { "Date", "Rank" });
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_TopVolumeTickers_Exchange",
|
|
table: "TopVolumeTickers",
|
|
column: "Exchange");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_TopVolumeTickers_Exchange_Date",
|
|
table: "TopVolumeTickers",
|
|
columns: new[] { "Exchange", "Date" });
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_TopVolumeTickers_Ticker",
|
|
table: "TopVolumeTickers",
|
|
column: "Ticker");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Traders_Address",
|
|
table: "Traders",
|
|
column: "Address");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Traders_Address_IsBestTrader",
|
|
table: "Traders",
|
|
columns: new[] { "Address", "IsBestTrader" },
|
|
unique: true);
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Traders_IsBestTrader",
|
|
table: "Traders",
|
|
column: "IsBestTrader");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Traders_IsBestTrader_Roi",
|
|
table: "Traders",
|
|
columns: new[] { "IsBestTrader", "Roi" });
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Traders_IsBestTrader_Winrate",
|
|
table: "Traders",
|
|
columns: new[] { "IsBestTrader", "Winrate" });
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Traders_Pnl",
|
|
table: "Traders",
|
|
column: "Pnl");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Traders_Roi",
|
|
table: "Traders",
|
|
column: "Roi");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Traders_Winrate",
|
|
table: "Traders",
|
|
column: "Winrate");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Trades_Date",
|
|
table: "Trades",
|
|
column: "Date");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Trades_ExchangeOrderId",
|
|
table: "Trades",
|
|
column: "ExchangeOrderId");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Trades_Status",
|
|
table: "Trades",
|
|
column: "Status");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Workers_WorkerType",
|
|
table: "Workers",
|
|
column: "WorkerType",
|
|
unique: true);
|
|
}
|
|
|
|
/// <inheritdoc />
|
|
protected override void Down(MigrationBuilder migrationBuilder)
|
|
{
|
|
migrationBuilder.DropTable(
|
|
name: "Accounts");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "AgentSummaries");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "Backtests");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "Bots");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "BundleBacktestRequests");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "FundingRates");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "GeneticRequests");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "MoneyManagements");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "Positions");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "ScenarioIndicators");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "Signals");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "SpotlightOverviews");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "SynthMinersLeaderboards");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "SynthPredictions");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "TopVolumeTickers");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "Traders");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "Workers");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "Users");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "Trades");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "Indicators");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "Scenarios");
|
|
}
|
|
}
|
|
}
|