mirror of
https://github.com/geekgeekrun/geekgeekrun.git
synced 2026-05-23 01:00:24 +08:00
add latestLogDate column for job library; fix wrong time displayed
This commit is contained in:
@@ -5,12 +5,18 @@ const { ViewEntity, ViewColumn } = requireTypeorm();
|
||||
job_info.*,
|
||||
boss_info.name AS bossName,
|
||||
boss_info.title AS bossTitle,
|
||||
company_info.name AS companyName
|
||||
company_info.name AS companyName,
|
||||
(
|
||||
SELECT job_info_change_log.updateTime
|
||||
FROM job_info_change_log
|
||||
WHERE job_info_change_log.encryptJobId = job_info.encryptJobId
|
||||
ORDER BY job_info_change_log.updateTime ASC
|
||||
LIMIT 1
|
||||
) AS latestLogDate
|
||||
FROM
|
||||
job_info
|
||||
LEFT JOIN boss_info ON boss_info.encryptBossId = job_info.encryptBossId
|
||||
LEFT JOIN company_info ON company_info.encryptCompanyId = job_info.encryptCompanyId
|
||||
`,
|
||||
LEFT JOIN company_info ON company_info.encryptCompanyId = job_info.encryptCompanyId`,
|
||||
})
|
||||
export class VJobLibrary {
|
||||
@ViewColumn()
|
||||
@@ -54,4 +60,7 @@ export class VJobLibrary {
|
||||
|
||||
@ViewColumn()
|
||||
companyName: string;
|
||||
|
||||
@ViewColumn()
|
||||
latestLogDate: string;
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ import { saveChatStartupRecord, saveJobInfoFromRecommendPage, saveMarkAsNotSuitR
|
||||
import { UpdateChatStartupLogTable1729182577167 } from "./migrations/1729182577167-UpdateChatStartupLogTable";
|
||||
import minimist from 'minimist'
|
||||
import { UpdateBossInfoTable1732032381304 } from "./migrations/1732032381304-UpdateBossInfoTable";
|
||||
import { ChangeJobLibraryView1744467048874 } from "./migrations/1744467048874-ChangeJobLibraryView";
|
||||
|
||||
export function initDb(dbFilePath) {
|
||||
const { DataSource } = requireTypeorm()
|
||||
@@ -56,7 +57,8 @@ export function initDb(dbFilePath) {
|
||||
],
|
||||
migrations: [
|
||||
UpdateChatStartupLogTable1729182577167,
|
||||
UpdateBossInfoTable1732032381304
|
||||
UpdateBossInfoTable1732032381304,
|
||||
ChangeJobLibraryView1744467048874
|
||||
],
|
||||
migrationsRun: true
|
||||
});
|
||||
|
||||
@@ -5,31 +5,28 @@ const viewNames = [
|
||||
"v_chat_startup_log",
|
||||
"v_company_library",
|
||||
"v_job_library",
|
||||
"v_mark_as_not_suit_log"
|
||||
"v_mark_as_not_suit_log",
|
||||
];
|
||||
|
||||
export class UpdateBossInfoTable1732032381304 implements MigrationInterface {
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
for (const viewName of viewNames) {
|
||||
await queryRunner.query(`DROP VIEW IF EXISTS "${viewName}"`);
|
||||
}
|
||||
if (await queryRunner.hasTable("boss_info")) {
|
||||
if (await queryRunner.hasColumn("boss_info", "encryptCompanyId")) {
|
||||
await queryRunner.changeColumn(
|
||||
'boss_info',
|
||||
'encryptCompanyId',
|
||||
new TableColumn({
|
||||
name: 'encryptCompanyId',
|
||||
type: 'varchar',
|
||||
isNullable: true
|
||||
})
|
||||
)
|
||||
debugger
|
||||
}
|
||||
}
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
for (const viewName of viewNames) {
|
||||
await queryRunner.query(`DROP VIEW IF EXISTS "${viewName}"`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
if (await queryRunner.hasTable("boss_info")) {
|
||||
if (await queryRunner.hasColumn("boss_info", "encryptCompanyId")) {
|
||||
await queryRunner.changeColumn(
|
||||
"boss_info",
|
||||
"encryptCompanyId",
|
||||
new TableColumn({
|
||||
name: "encryptCompanyId",
|
||||
type: "varchar",
|
||||
isNullable: true,
|
||||
})
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
const viewNames = [
|
||||
"v_boss_library",
|
||||
"v_chat_startup_log",
|
||||
"v_company_library",
|
||||
"v_job_library",
|
||||
"v_mark_as_not_suit_log",
|
||||
];
|
||||
export class ChangeJobLibraryView1744467048874 implements MigrationInterface {
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
for (const viewName of viewNames) {
|
||||
await queryRunner.query(`DROP VIEW IF EXISTS "${viewName}"`);
|
||||
}
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {}
|
||||
}
|
||||
Reference in New Issue
Block a user