Skip to content

Commit 058c31e

Browse files
easyCZroboquat
authored andcommitted
[usage] Store user, project, workspace, type & class
1 parent 38a5185 commit 058c31e

File tree

2 files changed

+42
-0
lines changed

2 files changed

+42
-0
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import {MigrationInterface, QueryRunner} from "typeorm";
2+
import {columnExists} from "@gitpod/gitpod-db/lib/typeorm/migration/helper/helper";
3+
4+
export class WorkspaceInstanceUsageAddExtraFields1658144661198 implements MigrationInterface {
5+
6+
public async up(queryRunner: QueryRunner): Promise<void> {
7+
8+
const columns = ['userId', 'workspaceId', 'projectId', 'workspaceType', 'workspaceClass'];
9+
10+
const statements = columns
11+
.filter(async col => {
12+
const exists = await columnExists(queryRunner, "d_b_workspace_instance_usage", col)
13+
return !exists;
14+
})
15+
.map(col => {
16+
return `ADD COLUMN ${col} varchar(255) NOT NULL DEFAULT ''`;
17+
});
18+
19+
if (statements.length > 0) {
20+
await queryRunner.query(`ALTER TABLE \`d_b_workspace_instance_usage\` ${statements.join(", ")}`);
21+
}
22+
}
23+
24+
public async down(queryRunner: QueryRunner): Promise<void> {}
25+
26+
}

components/gitpod-db/src/typeorm/entity/db-workspace-instance-usage.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import { Entity, Column, PrimaryColumn, Index } from "typeorm";
88
import { TypeORM } from "../typeorm";
99
import { Transformer } from "../transformer";
10+
import { WorkspaceType } from "@gitpod/gitpod-protocol";
1011

1112
@Entity()
1213
export class DBWorkspaceInstanceUsage {
@@ -17,6 +18,21 @@ export class DBWorkspaceInstanceUsage {
1718
@Index("ind_attributionId")
1819
attributionId: string;
1920

21+
@Column("varchar")
22+
userId: string;
23+
24+
@Column("varchar")
25+
workspaceId: string;
26+
27+
@Column("varchar")
28+
projectId: string;
29+
30+
@Column("varchar")
31+
workspaceType: WorkspaceType;
32+
33+
@Column("varchar")
34+
workspaceClass: string;
35+
2036
@Column({
2137
type: "timestamp",
2238
precision: 6,

0 commit comments

Comments
 (0)