feat: time of models' of creation and update (#22)
This commit is contained in:
commit
705be64397
@ -0,0 +1,5 @@
|
||||
-- This file should undo anything in `up.sql`
|
||||
ALTER TABLE "projects" DROP COLUMN "created_at";
|
||||
ALTER TABLE "projects" DROP COLUMN "updated_at";
|
||||
|
||||
|
@ -0,0 +1,7 @@
|
||||
-- Your SQL goes here
|
||||
ALTER TABLE "projects" ADD COLUMN "created_at" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
|
||||
ALTER TABLE "projects" ADD COLUMN "updated_at" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
|
||||
|
||||
SELECT diesel_manage_updated_at('projects');
|
||||
|
||||
|
@ -0,0 +1,5 @@
|
||||
-- This file should undo anything in `up.sql`
|
||||
|
||||
ALTER TABLE "tasks" DROP COLUMN "created_at";
|
||||
ALTER TABLE "tasks" DROP COLUMN "updated_at";
|
||||
|
@ -0,0 +1,7 @@
|
||||
-- Your SQL goes here
|
||||
|
||||
ALTER TABLE "tasks" ADD COLUMN "created_at" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
|
||||
ALTER TABLE "tasks" ADD COLUMN "updated_at" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
|
||||
|
||||
SELECT diesel_manage_updated_at('tasks');
|
||||
|
@ -1,3 +1,4 @@
|
||||
use chrono::NaiveDateTime;
|
||||
use crate::schema::projects;
|
||||
use diesel::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
@ -12,6 +13,8 @@ const TITLE_LENGTH_MAX: u64 = 255;
|
||||
pub struct Project {
|
||||
id: i32,
|
||||
title: String,
|
||||
created_at: NaiveDateTime,
|
||||
updated_at: NaiveDateTime,
|
||||
}
|
||||
|
||||
impl Project {
|
||||
@ -22,6 +25,14 @@ impl Project {
|
||||
pub fn title(&self) -> &str {
|
||||
&self.title
|
||||
}
|
||||
|
||||
pub fn created_at(&self) -> NaiveDateTime {
|
||||
self.created_at
|
||||
}
|
||||
|
||||
pub fn updated_at(&self) -> NaiveDateTime {
|
||||
self.updated_at
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Insertable, Serialize, Deserialize, Validate, Clone, Debug)]
|
||||
|
@ -1,3 +1,4 @@
|
||||
use chrono::NaiveDateTime;
|
||||
use crate::models::category::Category;
|
||||
use crate::schema::tasks;
|
||||
use diesel::prelude::*;
|
||||
@ -16,6 +17,8 @@ pub struct Task {
|
||||
deadline: Option<chrono::NaiveDate>,
|
||||
category: Category,
|
||||
project_id: Option<i32>,
|
||||
created_at: NaiveDateTime,
|
||||
updated_at: NaiveDateTime,
|
||||
}
|
||||
|
||||
impl Task {
|
||||
@ -38,6 +41,14 @@ impl Task {
|
||||
pub fn project_id(&self) -> Option<i32> {
|
||||
self.project_id
|
||||
}
|
||||
|
||||
pub fn created_at(&self) -> NaiveDateTime {
|
||||
self.created_at
|
||||
}
|
||||
|
||||
pub fn updated_at(&self) -> NaiveDateTime {
|
||||
self.updated_at
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Insertable, Serialize, Deserialize, Validate, Clone, Debug)]
|
||||
|
@ -4,6 +4,8 @@ diesel::table! {
|
||||
projects (id) {
|
||||
id -> Int4,
|
||||
title -> Text,
|
||||
created_at -> Timestamp,
|
||||
updated_at -> Timestamp,
|
||||
}
|
||||
}
|
||||
|
||||
@ -14,6 +16,8 @@ diesel::table! {
|
||||
deadline -> Nullable<Date>,
|
||||
category -> Jsonb,
|
||||
project_id -> Nullable<Int4>,
|
||||
created_at -> Timestamp,
|
||||
updated_at -> Timestamp,
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user