add sqlite database creation migrations
This commit is contained in:
parent
ee9e682d9e
commit
307419d37f
2 changed files with 27 additions and 0 deletions
25
migrations/sqlite/20241207082654_initial_table_setup.sql
Normal file
25
migrations/sqlite/20241207082654_initial_table_setup.sql
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
CREATE TABLE IF NOT EXISTS users(
|
||||||
|
user_id INTEGER PRIMARY KEY,
|
||||||
|
name TEXT NOT NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS books(
|
||||||
|
book_id INTEGER PRIMARY KEY,
|
||||||
|
book_title TEXT NOT NULL,
|
||||||
|
book_description TEXT,
|
||||||
|
book_creation_date INTEGER NOT NULL,
|
||||||
|
author_id INTEGER NOT NULL,
|
||||||
|
FOREIGN KEY (author_id) REFERENCES users(user_id) ON DELETE CASCADE
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS chapters(
|
||||||
|
chapter_id INTEGER PRIMARY KEY,
|
||||||
|
chapter_title TEXT NOT NULL,
|
||||||
|
chapter_text TEXT NOT NULL,
|
||||||
|
chapter_creation_date INT NOT NULL,
|
||||||
|
book_id INTEGER NOT NULL,
|
||||||
|
author_id INTEGER NOT NULL,
|
||||||
|
FOREIGN KEY (book_id) REFERENCES books(book_id) ON DELETE CASCADE,
|
||||||
|
FOREIGN KEY (author_id) REFERENCES users(user_id) ON DELETE CASCADE
|
||||||
|
);
|
|
@ -22,10 +22,12 @@ impl DataBase {
|
||||||
}
|
}
|
||||||
|
|
||||||
let pool = SqlitePool::connect("sqlite:gunnhildr.db").await.unwrap();
|
let pool = SqlitePool::connect("sqlite:gunnhildr.db").await.unwrap();
|
||||||
|
|
||||||
sqlx::migrate!("migrations/sqlite")
|
sqlx::migrate!("migrations/sqlite")
|
||||||
.run(&pool)
|
.run(&pool)
|
||||||
.await
|
.await
|
||||||
.expect("Failed to apply migration!");
|
.expect("Failed to apply migration!");
|
||||||
|
info!("Applied migrations.");
|
||||||
|
|
||||||
Self::Sqlite(pool)
|
Self::Sqlite(pool)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue