54 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			54 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| 
								 | 
							
								package version
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import (
							 | 
						||
| 
								 | 
							
									"github.com/go-admin-team/go-admin-core/sdk/config"
							 | 
						||
| 
								 | 
							
									"runtime"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									"go-admin/cmd/migrate/migration"
							 | 
						||
| 
								 | 
							
									"go-admin/cmd/migrate/migration/models"
							 | 
						||
| 
								 | 
							
									common "go-admin/common/models"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									"gorm.io/gorm"
							 | 
						||
| 
								 | 
							
								)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								func init() {
							 | 
						||
| 
								 | 
							
									_, fileName, _, _ := runtime.Caller(0)
							 | 
						||
| 
								 | 
							
									migration.Migrate.SetVersion(migration.GetFilename(fileName), _1599190683659Tables)
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								func _1599190683659Tables(db *gorm.DB, version string) error {
							 | 
						||
| 
								 | 
							
									return db.Transaction(func(tx *gorm.DB) error {
							 | 
						||
| 
								 | 
							
										if config.DatabaseConfig.Driver == "mysql" {
							 | 
						||
| 
								 | 
							
											tx = tx.Set("gorm:table_options", "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4")
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										err := tx.Migrator().AutoMigrate(
							 | 
						||
| 
								 | 
							
											new(models.SysDept),
							 | 
						||
| 
								 | 
							
											new(models.SysConfig),
							 | 
						||
| 
								 | 
							
											new(models.SysTables),
							 | 
						||
| 
								 | 
							
											new(models.SysColumns),
							 | 
						||
| 
								 | 
							
											new(models.SysMenu),
							 | 
						||
| 
								 | 
							
											new(models.SysLoginLog),
							 | 
						||
| 
								 | 
							
											new(models.SysOperaLog),
							 | 
						||
| 
								 | 
							
											new(models.SysRoleDept),
							 | 
						||
| 
								 | 
							
											new(models.SysUser),
							 | 
						||
| 
								 | 
							
											new(models.SysRole),
							 | 
						||
| 
								 | 
							
											new(models.SysPost),
							 | 
						||
| 
								 | 
							
											new(models.DictData),
							 | 
						||
| 
								 | 
							
											new(models.DictType),
							 | 
						||
| 
								 | 
							
											new(models.SysJob),
							 | 
						||
| 
								 | 
							
											new(models.SysConfig),
							 | 
						||
| 
								 | 
							
											new(models.SysApi),
							 | 
						||
| 
								 | 
							
											new(models.TbDemo),
							 | 
						||
| 
								 | 
							
										)
							 | 
						||
| 
								 | 
							
										if err != nil {
							 | 
						||
| 
								 | 
							
											return err
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										if err := models.InitDb(tx); err != nil {
							 | 
						||
| 
								 | 
							
											return err
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										return tx.Create(&common.Migration{
							 | 
						||
| 
								 | 
							
											Version: version,
							 | 
						||
| 
								 | 
							
										}).Error
							 | 
						||
| 
								 | 
							
									})
							 | 
						||
| 
								 | 
							
								}
							 |