aboutsummaryrefslogtreecommitdiff
path: root/database
diff options
context:
space:
mode:
authorBobby <[email protected]>2026-03-07 17:59:31 +0530
committerBobby <[email protected]>2026-03-07 17:59:31 +0530
commita6ec9a807df68978bf3b85314a4c54c60ecc2b7a (patch)
tree6201e8d594a3c368cce50ebc402f248814e2025f /database
parent57df54999e778887e66775481dab46191b46d0b6 (diff)
downloaddove-a6ec9a807df68978bf3b85314a4c54c60ecc2b7a.tar.xz
dove-a6ec9a807df68978bf3b85314a4c54c60ecc2b7a.zip
feat: implement SMTP server with authentication, port validation, and email storage
Diffstat (limited to 'database')
-rw-r--r--database/database.go2
-rw-r--r--database/migration.go22
2 files changed, 24 insertions, 0 deletions
diff --git a/database/database.go b/database/database.go
index 27b99eb..ac06c98 100644
--- a/database/database.go
+++ b/database/database.go
@@ -33,4 +33,6 @@ func init() {
sqlDB.SetConnMaxLifetime(MAX_CONNECTION_LIFETIME)
logger.Successf(LOG_PREFIX, messages.DatabaseConnected, databaseDSN)
+
+ migrate()
}
diff --git a/database/migration.go b/database/migration.go
new file mode 100644
index 0000000..4d8363c
--- /dev/null
+++ b/database/migration.go
@@ -0,0 +1,22 @@
+package database
+
+import (
+ "dove/messages"
+ "dove/models"
+ "dove/utils/logger"
+)
+
+func migrate() {
+ migrationError := DB.AutoMigrate(
+ &models.User{},
+ &models.Mailbox{},
+ &models.Alias{},
+ &models.Email{},
+ &models.Tag{},
+ &models.Attachment{},
+ )
+
+ if migrationError != nil {
+ logger.Fatalf(LOG_PREFIX, messages.DatabaseMigrationFailed, migrationError)
+ }
+}