From 0f6b4a32ccf5d88debbfa4a7d7feaea8ca0969bc Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Thu, 3 Dec 2020 09:55:29 +0100 Subject: An Artifact belongs to a job Signed-off-by: Matthias Beyer --- migrations/2020-12-03-085333_artifact_belongs_to_job/down.sql | 5 +++++ migrations/2020-12-03-085333_artifact_belongs_to_job/up.sql | 5 +++++ src/db/models/artifact.rs | 6 +++++- src/schema.rs | 2 ++ 4 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 migrations/2020-12-03-085333_artifact_belongs_to_job/down.sql create mode 100644 migrations/2020-12-03-085333_artifact_belongs_to_job/up.sql diff --git a/migrations/2020-12-03-085333_artifact_belongs_to_job/down.sql b/migrations/2020-12-03-085333_artifact_belongs_to_job/down.sql new file mode 100644 index 0000000..3a56084 --- /dev/null +++ b/migrations/2020-12-03-085333_artifact_belongs_to_job/down.sql @@ -0,0 +1,5 @@ +-- This file should undo anything in `up.sql` +ALTER TABLE + artifacts +DROP COLUMN + job_id diff --git a/migrations/2020-12-03-085333_artifact_belongs_to_job/up.sql b/migrations/2020-12-03-085333_artifact_belongs_to_job/up.sql new file mode 100644 index 0000000..c838962 --- /dev/null +++ b/migrations/2020-12-03-085333_artifact_belongs_to_job/up.sql @@ -0,0 +1,5 @@ +-- Your SQL goes here +ALTER TABLE + artifacts +ADD COLUMN + job_id INTEGER REFERENCES jobs(id) NOT NULL diff --git a/src/db/models/artifact.rs b/src/db/models/artifact.rs index 92b6531..546df9b 100644 --- a/src/db/models/artifact.rs +++ b/src/db/models/artifact.rs @@ -1,7 +1,11 @@ -#[derive(Queryable)] +use diesel::prelude::*; + +#[derive(Identifiable, Queryable, Associations)] +#[belongs_to(Job)] pub struct Artifact { pub id: i32, pub path: String, pub released: bool, + pub job_id: i32, } diff --git a/src/schema.rs b/src/schema.rs index 3b7c4d4..cca6a25 100644 --- a/src/schema.rs +++ b/src/schema.rs @@ -3,6 +3,7 @@ table! { id -> Int4, path -> Varchar, released -> Bool, + job_id -> Int4, } } @@ -101,6 +102,7 @@ table! { } } +joinable!(artifacts -> jobs (job_id)); joinable!(job_envs -> envvars (env_id)); joinable!(job_envs -> jobs (job_id)); joinable!(job_input_artifacts -> artifacts (artifact_id)); -- cgit v1.2.3