mirror of
https://github.com/RaidMax/IW4M-Admin.git
synced 2025-06-10 15:20:48 -05:00
huge commit for advanced stats feature.
broke data out into its own library. may be breaking changes with existing plugins
This commit is contained in:
@ -0,0 +1,128 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
namespace Data.Migrations.Sqlite
|
||||
{
|
||||
public partial class UpdateEFMetaToSupportNonClientMetaAndLinkedMeta : Migration
|
||||
{
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.Sql(@"PRAGMA foreign_keys = 0;
|
||||
|
||||
CREATE TABLE sqlitestudio_temp_table AS SELECT *
|
||||
FROM EFMeta;
|
||||
|
||||
DROP TABLE EFMeta;
|
||||
|
||||
CREATE TABLE EFMeta (
|
||||
MetaId INTEGER NOT NULL
|
||||
CONSTRAINT PK_EFMeta PRIMARY KEY AUTOINCREMENT,
|
||||
Active INTEGER NOT NULL,
|
||||
ClientId INTEGER,
|
||||
Created TEXT NOT NULL,
|
||||
Extra TEXT,
|
||||
[Key] TEXT NOT NULL,
|
||||
Updated TEXT NOT NULL,
|
||||
Value TEXT NOT NULL,
|
||||
LinkedMetaId INTEGER CONSTRAINT IX_EFMeta_LinkedMetaId REFERENCES EFMeta (MetaId) ON DELETE SET NULL,
|
||||
CONSTRAINT FK_EFMeta_EFClients_ClientId FOREIGN KEY (
|
||||
ClientId
|
||||
)
|
||||
REFERENCES EFClients (ClientId) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
INSERT INTO EFMeta (
|
||||
MetaId,
|
||||
Active,
|
||||
ClientId,
|
||||
Created,
|
||||
Extra,
|
||||
[Key],
|
||||
Updated,
|
||||
Value
|
||||
)
|
||||
SELECT MetaId,
|
||||
Active,
|
||||
ClientId,
|
||||
Created,
|
||||
Extra,
|
||||
""Key"",
|
||||
Updated,
|
||||
Value
|
||||
FROM sqlitestudio_temp_table;
|
||||
|
||||
DROP TABLE sqlitestudio_temp_table;
|
||||
|
||||
CREATE INDEX IX_EFMeta_ClientId ON EFMeta(
|
||||
""ClientId""
|
||||
);
|
||||
|
||||
CREATE INDEX IX_EFMeta_Key ON EFMeta (
|
||||
""Key""
|
||||
);
|
||||
|
||||
CREATE INDEX IX_EFMeta_LinkedMetaId ON EFMeta (
|
||||
LinkedMetaId
|
||||
);
|
||||
|
||||
PRAGMA foreign_keys = 1;");
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.Sql(@"PRAGMA foreign_keys = 0;
|
||||
|
||||
CREATE TABLE sqlitestudio_temp_table AS SELECT *
|
||||
FROM EFMeta;
|
||||
|
||||
DROP TABLE EFMeta;
|
||||
|
||||
CREATE TABLE EFMeta (
|
||||
MetaId INTEGER NOT NULL
|
||||
CONSTRAINT PK_EFMeta PRIMARY KEY AUTOINCREMENT,
|
||||
Active INTEGER NOT NULL,
|
||||
ClientId INTEGER NOT NULL,
|
||||
Created TEXT NOT NULL,
|
||||
Extra TEXT,
|
||||
[Key] TEXT NOT NULL,
|
||||
Updated TEXT NOT NULL,
|
||||
Value TEXT NOT NULL,
|
||||
CONSTRAINT FK_EFMeta_EFClients_ClientId FOREIGN KEY (
|
||||
ClientId
|
||||
)
|
||||
REFERENCES EFClients (ClientId) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
INSERT INTO EFMeta (
|
||||
MetaId,
|
||||
Active,
|
||||
ClientId,
|
||||
Created,
|
||||
Extra,
|
||||
[Key],
|
||||
Updated,
|
||||
Value
|
||||
)
|
||||
SELECT MetaId,
|
||||
Active,
|
||||
ClientId,
|
||||
Created,
|
||||
Extra,
|
||||
""Key"",
|
||||
Updated,
|
||||
Value
|
||||
FROM sqlitestudio_temp_table;
|
||||
|
||||
DROP TABLE sqlitestudio_temp_table;
|
||||
|
||||
CREATE INDEX IX_EFMeta_ClientId ON EFMeta(
|
||||
""ClientId""
|
||||
);
|
||||
|
||||
CREATE INDEX IX_EFMeta_Key ON EFMeta(
|
||||
""Key""
|
||||
);
|
||||
|
||||
PRAGMA foreign_keys = 1;");
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user