diff --git a/packages/das/src/entities/PrFile.entity.ts b/packages/das/src/entities/PrFile.entity.ts index ec69f2d..3cc2ff3 100644 --- a/packages/das/src/entities/PrFile.entity.ts +++ b/packages/das/src/entities/PrFile.entity.ts @@ -8,10 +8,10 @@ export class PrFile { @PrimaryColumn({ name: "pr_number" }) prNumber: number; - @PrimaryColumn() + @PrimaryColumn({ type: "text" }) filename: string; - @Column({ name: "previous_filename", nullable: true }) + @Column({ name: "previous_filename", type: "text", nullable: true }) previousFilename: string; @Column() diff --git a/packages/das/src/entities/PrFileContent.entity.ts b/packages/das/src/entities/PrFileContent.entity.ts index d71e420..2190266 100644 --- a/packages/das/src/entities/PrFileContent.entity.ts +++ b/packages/das/src/entities/PrFileContent.entity.ts @@ -8,7 +8,7 @@ export class PrFileContent { @PrimaryColumn({ name: "pr_number" }) prNumber: number; - @PrimaryColumn() + @PrimaryColumn({ type: "text" }) filename: string; @Column({ name: "base_content", type: "text", nullable: true }) diff --git a/packages/db/08_pr_files.sql b/packages/db/08_pr_files.sql index a6c6dcf..2f8825f 100644 --- a/packages/db/08_pr_files.sql +++ b/packages/db/08_pr_files.sql @@ -3,8 +3,8 @@ CREATE TABLE IF NOT EXISTS pr_files ( repo_full_name VARCHAR(255) NOT NULL, pr_number INTEGER NOT NULL, - filename VARCHAR(500) NOT NULL, - previous_filename VARCHAR(500), + filename TEXT NOT NULL, + previous_filename TEXT, status VARCHAR(20) NOT NULL, additions INTEGER NOT NULL DEFAULT 0, deletions INTEGER NOT NULL DEFAULT 0, diff --git a/packages/db/09_pr_file_contents.sql b/packages/db/09_pr_file_contents.sql index bb9acc3..ad3e8d8 100644 --- a/packages/db/09_pr_file_contents.sql +++ b/packages/db/09_pr_file_contents.sql @@ -4,7 +4,7 @@ CREATE TABLE IF NOT EXISTS pr_file_contents ( repo_full_name VARCHAR(255) NOT NULL, pr_number INTEGER NOT NULL, - filename VARCHAR(500) NOT NULL, + filename TEXT NOT NULL, base_content TEXT, head_content TEXT, is_binary BOOLEAN NOT NULL DEFAULT FALSE, diff --git a/packages/db/26_pr_file_paths_text.sql b/packages/db/26_pr_file_paths_text.sql new file mode 100644 index 0000000..4bb5398 --- /dev/null +++ b/packages/db/26_pr_file_paths_text.sql @@ -0,0 +1,10 @@ +-- Allow valid Git paths longer than 500 characters. +-- GitHub's PR files API returns full repo-relative paths, which can exceed +-- the previous VARCHAR(500) cap when directories are deeply nested. + +ALTER TABLE pr_files + ALTER COLUMN filename TYPE TEXT, + ALTER COLUMN previous_filename TYPE TEXT; + +ALTER TABLE pr_file_contents + ALTER COLUMN filename TYPE TEXT;