Skip to content

Commit 6e6beb4

Browse files
committed
Improve file table schema by using hash
1 parent 7afd3fb commit 6e6beb4

File tree

7 files changed

+48
-28
lines changed

7 files changed

+48
-28
lines changed

database/databasefake/databasefake.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -104,12 +104,12 @@ func (q *fakeQuerier) GetAPIKeyByID(_ context.Context, id string) (database.APIK
104104
return database.APIKey{}, sql.ErrNoRows
105105
}
106106

107-
func (q *fakeQuerier) GetFileByID(_ context.Context, id uuid.UUID) (database.File, error) {
107+
func (q *fakeQuerier) GetFileByHash(_ context.Context, hash string) (database.File, error) {
108108
q.mutex.Lock()
109109
defer q.mutex.Unlock()
110110

111111
for _, file := range q.files {
112-
if file.ID.String() == id.String() {
112+
if file.Hash == hash {
113113
return file, nil
114114
}
115115
}
@@ -588,8 +588,9 @@ func (q *fakeQuerier) InsertFile(_ context.Context, arg database.InsertFileParam
588588

589589
//nolint:gosimple
590590
file := database.File{
591-
ID: arg.ID,
591+
Hash: arg.Hash,
592592
CreatedAt: arg.CreatedAt,
593+
Mimetype: arg.Mimetype,
593594
Data: arg.Data,
594595
}
595596
q.files = append(q.files, file)

database/dump.sql

Lines changed: 5 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

database/migrations/000002_projects.up.sql

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
-- Store arbitrary data like project source code or avatars.
2-
CREATE TABLE files (
3-
id uuid NOT NULL UNIQUE,
2+
CREATE TABLE file (
3+
hash varchar(32) NOT NULL UNIQUE,
44
created_at timestamptz NOT NULL,
5+
mimetype varchar(64) NOT NULL,
56
data bytea NOT NULL
67
);
78

database/models.go

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

database/querier.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

database/query.sql

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,13 @@ WHERE
4646
LIMIT
4747
1;
4848

49-
-- name: GetFileByID :one
49+
-- name: GetFileByHash :one
5050
SELECT
5151
*
5252
FROM
53-
files
53+
file
5454
WHERE
55-
id = $1
55+
hash = $1
5656
LIMIT
5757
1;
5858

@@ -364,9 +364,9 @@ VALUES
364364

365365
-- name: InsertFile :one
366366
INSERT INTO
367-
files (id, created_at, data)
367+
file (hash, created_at, mimetype, data)
368368
VALUES
369-
($1, $2, $3) RETURNING *;
369+
($1, $2, $3, $4) RETURNING *;
370370

371371
-- name: InsertProvisionerJobLogs :many
372372
INSERT INTO

database/query.sql.go

Lines changed: 28 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)