From 4ff9e5ae2ec61d3811e648780ee2c8565a6c5a48 Mon Sep 17 00:00:00 2001 From: Hubert Van De Walle Date: Sun, 12 Apr 2020 17:45:12 +0200 Subject: [PATCH 1/3] Add Notes table in flyway migration --- api/resources/db/migration/V2__Create_note_table.sql | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 api/resources/db/migration/V2__Create_note_table.sql diff --git a/api/resources/db/migration/V2__Create_note_table.sql b/api/resources/db/migration/V2__Create_note_table.sql new file mode 100644 index 0000000..4904664 --- /dev/null +++ b/api/resources/db/migration/V2__Create_note_table.sql @@ -0,0 +1,11 @@ +CREATE TABLE `Notes` +( + `id` int PRIMARY KEY AUTO_INCREMENT, + `title` varchar(50) NOT NULL, + `content` text NOT NULL, + `user_id` int NOT NULL, + `last_viewed` datetime +); + +ALTER TABLE `Notes` + ADD FOREIGN KEY (`user_id`) REFERENCES `Users` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT; \ No newline at end of file From f4557bc9a004f67bf9e7fa0dddb0e70b4165d839 Mon Sep 17 00:00:00 2001 From: Hubert Van De Walle Date: Sun, 12 Apr 2020 17:46:50 +0200 Subject: [PATCH 2/3] Add Note entity --- api/src/entities/Note.kt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 api/src/entities/Note.kt diff --git a/api/src/entities/Note.kt b/api/src/entities/Note.kt new file mode 100644 index 0000000..b9f918d --- /dev/null +++ b/api/src/entities/Note.kt @@ -0,0 +1,14 @@ +package be.vandewalleh.entities + +import me.liuwj.ktorm.entity.Entity +import java.time.LocalDateTime + +interface Note : Entity { + companion object : Entity.Factory() + + val id: Int + var title: String + var content: String + var user: User + var lastViewed: LocalDateTime? +} \ No newline at end of file From 54247da3e09ea21da9bc63fc4bc0d553902df968 Mon Sep 17 00:00:00 2001 From: Hubert Van De Walle Date: Sun, 12 Apr 2020 17:47:00 +0200 Subject: [PATCH 3/3] Add Note table --- api/src/tables/Notes.kt | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 api/src/tables/Notes.kt diff --git a/api/src/tables/Notes.kt b/api/src/tables/Notes.kt new file mode 100644 index 0000000..2541b6e --- /dev/null +++ b/api/src/tables/Notes.kt @@ -0,0 +1,12 @@ +package be.vandewalleh.tables + +import be.vandewalleh.entities.Note +import me.liuwj.ktorm.schema.* + +object Notes : Table("Notes") { + val id by int("id").primaryKey().bindTo { it.id } + val title by varchar("title").bindTo { it.title } + val content by text("content").bindTo { it.content } + val user by int("user_id").references(Users) { it.user } + val lastViewed by datetime("last_viewed").bindTo { it.lastViewed } +} \ No newline at end of file