add sqlite plugin(with typeorm and sqlite) and business entities

This commit is contained in:
geekgeekrun
2024-03-17 12:39:55 +08:00
parent 3f2630d9c6
commit 99d9ad3f95
12 changed files with 1014 additions and 48 deletions

View File

@@ -0,0 +1,19 @@
import { Entity, PrimaryGeneratedColumn, Column } from "typeorm";
@Entity()
export class BossInfo {
@PrimaryGeneratedColumn()
id: number;
@Column()
encryptedBossId: string;
@Column()
encryptedCompanyId: string;
@Column()
date: Date;
@Column()
title: Date;
}

View File

@@ -0,0 +1,16 @@
import { Entity, PrimaryGeneratedColumn, Column } from "typeorm";
@Entity()
export class BossInfoChangeLog {
@PrimaryGeneratedColumn()
id: number;
@Column()
encryptedBossId: string;
@Column()
updateTime: Date;
@Column()
dataAsJson: string;
}

View File

@@ -0,0 +1,13 @@
import { Entity, PrimaryGeneratedColumn, Column } from "typeorm";
@Entity()
export class ChatStartupLog {
@PrimaryGeneratedColumn()
id: number;
@Column()
encryptedPositionId: string;
@Column()
date: Date;
}

View File

@@ -0,0 +1,28 @@
import { Entity, PrimaryGeneratedColumn, Column } from "typeorm";
@Entity()
export class CompanyInfo {
@PrimaryGeneratedColumn()
id: number;
@Column()
encryptCompanyId: string;
@Column()
name: string;
@Column()
brandName: string;
@Column()
scaleLow?: string;
@Column()
scaleHeight?: string;
@Column()
stageName?: string;
@Column()
industryName?: string;
}

View File

@@ -0,0 +1,16 @@
import { Entity, PrimaryGeneratedColumn, Column } from "typeorm";
@Entity()
export class CompanyInfoChangeLog {
@PrimaryGeneratedColumn()
id: number;
@Column()
encryptedCompanyId: string;
@Column()
updateTime: Date;
@Column()
dataAsJson: string;
}

View File

@@ -0,0 +1,49 @@
import { Entity, PrimaryGeneratedColumn, Column, Unique } from "typeorm";
@Entity()
export class JobInfo {
@PrimaryGeneratedColumn()
id: number;
@Column()
encryptedJobId: string;
@Column()
jobName: string;
@Column()
positionName: string;
@Column()
salaryLow?: number;
@Column()
salaryHeight?: number;
@Column()
salaryMonth?: number;
@Column()
experienceYearLow?: number;
@Column()
experienceYearHigh?: number;
@Column()
publishDate: Date;
@Column()
degreeName?: string;
@Column()
address: string;
@Column()
description: string;
@Column()
encryptedBossId: string;
@Column()
encryptedCompanyId: string;
}

View File

@@ -0,0 +1,16 @@
import { Entity, PrimaryGeneratedColumn, Column } from "typeorm";
@Entity()
export class JobInfoChangeLog {
@PrimaryGeneratedColumn()
id: number;
@Column()
encryptedJobId: string;
@Column()
updateTime: Date;
@Column()
dataAsJson: string;
}

View File

@@ -0,0 +1,35 @@
import "reflect-metadata";
import { DataSource } from "typeorm";
import { BossInfo } from "./entity/BossInfo";
import { BossInfoChangeLog } from "./entity/BossInfoChangeLog";
import { ChatStartupLog } from "./entity/ChatStartupLog";
import { CompanyInfoChangeLog } from "./entity/CompanyInfoChangeLog";
import { CompanyInfo } from "./entity/CompanyInfo";
import { JobInfo } from "./entity/JobInfo";
import { JobInfoChangeLog } from "./entity/JobInfoChangeLog";
async function initDb() {
const appDataSource = new DataSource({
type: "sqlite",
synchronize: true,
logging: true,
logger: "simple-console",
database: "database.sqlite",
entities: [
ChatStartupLog,
BossInfo,
BossInfoChangeLog,
CompanyInfo,
CompanyInfoChangeLog,
JobInfo,
JobInfoChangeLog,
],
});
return appDataSource.initialize();
}
(async () => {
const a = await initDb();
console.log(a);
})();