feat: update migrate rule
This commit is contained in:
@@ -45,6 +45,21 @@ Message Nest 是一个灵活而强大的消息推送整合平台,旨在简化
|
|||||||
3. 重命名conf/app.example.ini为conf/app.ini
|
3. 重命名conf/app.example.ini为conf/app.ini
|
||||||
4. 修改app.ini对应的配置
|
4. 修改app.ini对应的配置
|
||||||
5. 启动项目会自动创建表和账号 (也可以使用database.sql在数据库中执行,进行表数据初始化)
|
5. 启动项目会自动创建表和账号 (也可以使用database.sql在数据库中执行,进行表数据初始化)
|
||||||
|
```shell
|
||||||
|
# 第一次运行将app.ini中的app.InitData设置为enable,会自动进行表数据的初始化
|
||||||
|
# 后续不需要开启这个配置
|
||||||
|
# INFO登录启动回出现如下日志
|
||||||
|
|
||||||
|
[2024-01-13 13:40:09.075] INFO [migrate.go:70 Setup] [Init Data]: Migrate table: message_auth
|
||||||
|
[2024-01-13 13:40:11.778] INFO [migrate.go:70 Setup] [Init Data]: Migrate table: message_send_tasks
|
||||||
|
[2024-01-13 13:40:16.518] INFO [migrate.go:70 Setup] [Init Data]: Migrate table: message_send_ways
|
||||||
|
[2024-01-13 13:40:23.300] INFO [migrate.go:70 Setup] [Init Data]: Migrate table: message_send_tasks_logs
|
||||||
|
[2024-01-13 13:40:28.715] INFO [migrate.go:70 Setup] [Init Data]: Migrate table: message_send_tasks_ins
|
||||||
|
[2024-01-13 13:40:39.538] INFO [migrate.go:70 Setup] [Init Data]: Migrate table: message_settings
|
||||||
|
[2024-01-13 13:40:46.299] INFO [migrate.go:74 Setup] [Init Data]: Init Account data...
|
||||||
|
[2024-01-13 13:40:46.751] INFO [migrate.go:77 Setup] [Init Data]: All table data init done.
|
||||||
|
|
||||||
|
```
|
||||||
6. 启动项目,访问8000端口,初始账号为admin,密码为123456
|
6. 启动项目,访问8000端口,初始账号为admin,密码为123456
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,9 @@ JwtSecret = message-nest
|
|||||||
RuntimeRootPath = runtime/
|
RuntimeRootPath = runtime/
|
||||||
LogLevel = INFO
|
LogLevel = INFO
|
||||||
|
|
||||||
|
; init table data, first run set enable
|
||||||
|
InitData = enable
|
||||||
|
|
||||||
[server]
|
[server]
|
||||||
; debug or release
|
; debug or release
|
||||||
RunMode = release
|
RunMode = release
|
||||||
|
|||||||
+18
-3
@@ -40,7 +40,6 @@ func InitAuthTableData() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func Setup() {
|
func Setup() {
|
||||||
setting.Setup()
|
|
||||||
db := models.Setup()
|
db := models.Setup()
|
||||||
defer func(db *gorm.DB) {
|
defer func(db *gorm.DB) {
|
||||||
err := db.Close()
|
err := db.Close()
|
||||||
@@ -49,15 +48,31 @@ func Setup() {
|
|||||||
}
|
}
|
||||||
}(db)
|
}(db)
|
||||||
|
|
||||||
db.AutoMigrate(
|
if setting.AppSetting.InitData != "enable" {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
entry := logrus.WithFields(logrus.Fields{
|
||||||
|
"prefix": "[Init Data]",
|
||||||
|
})
|
||||||
|
|
||||||
|
tables := []interface{}{
|
||||||
&models.Auth{},
|
&models.Auth{},
|
||||||
&models.SendTasks{},
|
&models.SendTasks{},
|
||||||
&models.SendWays{},
|
&models.SendWays{},
|
||||||
&models.SendTasksLogs{},
|
&models.SendTasksLogs{},
|
||||||
&models.SendTasksIns{},
|
&models.SendTasksIns{},
|
||||||
&models.Settings{},
|
&models.Settings{},
|
||||||
)
|
}
|
||||||
|
|
||||||
|
for _, table := range tables {
|
||||||
|
tableName := db.NewScope(table).TableName()
|
||||||
|
entry.Infof("Migrate table: %s", tableName)
|
||||||
|
db.AutoMigrate(table)
|
||||||
|
}
|
||||||
|
|
||||||
|
entry.Infof("Init Account data...")
|
||||||
InitAuthTableData()
|
InitAuthTableData()
|
||||||
|
|
||||||
|
entry.Infof("All table data init done.")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ type App struct {
|
|||||||
|
|
||||||
RuntimeRootPath string
|
RuntimeRootPath string
|
||||||
LogLevel string
|
LogLevel string
|
||||||
|
InitData string
|
||||||
}
|
}
|
||||||
|
|
||||||
var AppSetting = &App{}
|
var AppSetting = &App{}
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ func AddTask(task ScheduledTask) cron.EntryID {
|
|||||||
logrus.Error(fmt.Sprintf("添加定时任务失败,原因:%s", err))
|
logrus.Error(fmt.Sprintf("添加定时任务失败,原因:%s", err))
|
||||||
} else {
|
} else {
|
||||||
TaskList[taskId] = &task
|
TaskList[taskId] = &task
|
||||||
logrus.Error(fmt.Sprintf("添加定时任务成功,entryID: %d, cron: %s", taskId, task.Schedule))
|
logrus.Info(fmt.Sprintf("添加定时任务成功,entryID: %d, cron: %s", taskId, task.Schedule))
|
||||||
}
|
}
|
||||||
return taskId
|
return taskId
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user