feat: time of models' of creation and update (#22)
This commit is contained in:
		| @@ -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, | ||||
|     } | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user