mirror of
https://github.com/hydralauncher/hydra.git
synced 2025-02-03 00:33:49 +03:00
Merge pull request #524 from hydralauncher/feat/update-lastTimePlayed-column
change game column lastTimePlayed to datetime
This commit is contained in:
commit
0c97deaa48
@ -59,7 +59,7 @@ export class Game {
|
|||||||
@Column("int", { default: 0 })
|
@Column("int", { default: 0 })
|
||||||
bytesDownloaded: number;
|
bytesDownloaded: number;
|
||||||
|
|
||||||
@Column("text", { nullable: true })
|
@Column("datetime", { nullable: true })
|
||||||
lastTimePlayed: Date | null;
|
lastTimePlayed: Date | null;
|
||||||
|
|
||||||
@Column("float", { default: 0 })
|
@Column("float", { default: 0 })
|
||||||
|
@ -0,0 +1,49 @@
|
|||||||
|
import { Game } from "@main/entity";
|
||||||
|
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||||
|
|
||||||
|
export class AlterLastTimePlayedToDatime1716776027208
|
||||||
|
implements MigrationInterface
|
||||||
|
{
|
||||||
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||||
|
// 2024-05-27 02:08:17
|
||||||
|
// Mon, 27 May 2024 02:08:17 GMT
|
||||||
|
const updateLastTimePlayedValues = `
|
||||||
|
UPDATE game SET lastTimePlayed = (SELECT
|
||||||
|
SUBSTR(lastTimePlayed, 13, 4) || '-' || -- Year
|
||||||
|
CASE SUBSTR(lastTimePlayed, 9, 3)
|
||||||
|
WHEN 'Jan' THEN '01'
|
||||||
|
WHEN 'Feb' THEN '02'
|
||||||
|
WHEN 'Mar' THEN '03'
|
||||||
|
WHEN 'Apr' THEN '04'
|
||||||
|
WHEN 'May' THEN '05'
|
||||||
|
WHEN 'Jun' THEN '06'
|
||||||
|
WHEN 'Jul' THEN '07'
|
||||||
|
WHEN 'Aug' THEN '08'
|
||||||
|
WHEN 'Sep' THEN '09'
|
||||||
|
WHEN 'Oct' THEN '10'
|
||||||
|
WHEN 'Nov' THEN '11'
|
||||||
|
WHEN 'Dec' THEN '12'
|
||||||
|
END || '-' || -- Month
|
||||||
|
SUBSTR(lastTimePlayed, 6, 2) || ' ' || -- Day
|
||||||
|
SUBSTR(lastTimePlayed, 18, 8) -- hh:mm:ss;
|
||||||
|
FROM game)
|
||||||
|
WHERE lastTimePlayed IS NOT NULL;
|
||||||
|
`;
|
||||||
|
|
||||||
|
await queryRunner.query(updateLastTimePlayedValues);
|
||||||
|
}
|
||||||
|
|
||||||
|
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||||
|
const queryBuilder = queryRunner.manager.createQueryBuilder(Game, "game");
|
||||||
|
|
||||||
|
const result = await queryBuilder.getMany();
|
||||||
|
|
||||||
|
for (const game of result) {
|
||||||
|
if (!game.lastTimePlayed) continue;
|
||||||
|
await queryRunner.query(
|
||||||
|
`UPDATE game set lastTimePlayed = ? WHERE id = ?;`,
|
||||||
|
[game.lastTimePlayed.toUTCString(), game.id]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,3 +1,7 @@
|
|||||||
import { FixRepackUploadDate1715900413313 } from "./1715900413313-fix_repack_uploadDate";
|
import { FixRepackUploadDate1715900413313 } from "./1715900413313-fix_repack_uploadDate";
|
||||||
|
import { AlterLastTimePlayedToDatime1716776027208 } from "./1716776027208-alter_lastTimePlayed_to_datime";
|
||||||
|
|
||||||
export default [FixRepackUploadDate1715900413313];
|
export default [
|
||||||
|
FixRepackUploadDate1715900413313,
|
||||||
|
AlterLastTimePlayedToDatime1716776027208,
|
||||||
|
];
|
||||||
|
@ -56,10 +56,7 @@ export const startProcessWatcher = async () => {
|
|||||||
|
|
||||||
await gameRepository.update(game.id, {
|
await gameRepository.update(game.id, {
|
||||||
playTimeInMilliseconds: game.playTimeInMilliseconds + delta,
|
playTimeInMilliseconds: game.playTimeInMilliseconds + delta,
|
||||||
});
|
lastTimePlayed: new Date(),
|
||||||
|
|
||||||
gameRepository.update(game.id, {
|
|
||||||
lastTimePlayed: new Date().toUTCString(),
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user