aboutsummaryrefslogtreecommitdiff
path: root/src/database.rs
diff options
context:
space:
mode:
authorKunoiSayami <[email protected]>2021-05-10 18:28:02 +0800
committerKunoiSayami <[email protected]>2021-05-10 18:28:02 +0800
commitbaeb888db8a12181f38499560b30c0a84ec9982e (patch)
treee1231e566ba5e25bde522a544d9e7f793dfee80d /src/database.rs
parent309a78d246ff175eaf12f6a7d4e9d70845b9edda (diff)
refactor(database): Add repo tablev0.3.0
* feat(core): Add upgrade function from database v1 to v2
Diffstat (limited to 'src/database.rs')
-rw-r--r--src/database.rs46
1 files changed, 44 insertions, 2 deletions
diff --git a/src/database.rs b/src/database.rs
index a9af02b..eceec98 100644
--- a/src/database.rs
+++ b/src/database.rs
@@ -17,6 +17,7 @@
** You should have received a copy of the GNU Affero General Public License
** along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
+#[deprecated(since = "0.3.0", note = "Please use v2 instead")]
#[allow(dead_code)]
pub mod v1 {
pub const CREATE_TABLES: &str = r#"
@@ -46,5 +47,46 @@ pub mod v1 {
pub const VERSION: &str = "1";
}
-pub use v1 as current;
-pub use v1::VERSION;
+
+#[allow(dead_code)]
+pub mod v2 {
+ pub const CREATE_TABLES: &str = r#"
+ CREATE TABLE "accounts" (
+ "user" TEXT NOT NULL,
+ "password" TEXT NOT NULL,
+ "uid" TEXT NOT NULL,
+ PRIMARY KEY("user")
+ );
+
+ CREATE TABLE "auth_meta" (
+ "key" TEXT NOT NULL,
+ "value" TEXT NOT NULL,
+ PRIMARY KEY("key")
+ );
+
+ CREATE TABLE "repo" (
+ "uid" TEXT NOT NULL,
+ "repos" TEXT NOT NULL,
+ "expire" INTEGER,
+ PRIMARY KEY("uid")
+ );
+
+ INSERT INTO "auth_meta" VALUES ('version', '2');
+ "#;
+
+ pub const DROP_TABLES: &str = r#"
+
+ DROP TABLE "accounts";
+
+ DROP TABLE "repo";
+
+ DROP TABLE "auth_meta";
+ "#;
+
+ pub const VERSION: &str = "2";
+}
+
+#[allow(deprecated)]
+pub use v1 as previous;
+pub use v2 as current;
+pub use v2::VERSION;