Moving the migrations directory into database for embedding
This commit is contained in:
		
							parent
							
								
									77e3324f79
								
							
						
					
					
						commit
						34c0712825
					
				
					 7 changed files with 8 additions and 2 deletions
				
			
		|  | @ -1,6 +1,7 @@ | |||
| package database | ||||
| 
 | ||||
| import ( | ||||
| 	"embed" | ||||
| 	"log" | ||||
| 	"os" | ||||
| 	"path/filepath" | ||||
|  | @ -15,6 +16,9 @@ type Db struct { | |||
| 	*sqlx.DB | ||||
| } | ||||
| 
 | ||||
| //go:embed migrations | ||||
| var scripts embed.FS | ||||
| 
 | ||||
| const userInsert = "INSERT INTO users (username, password) VALUES (?, ?)" | ||||
| const projectInsert = "INSERT INTO projects (name, description, user_id) SELECT ?, ?, id FROM users WHERE username = ?" | ||||
| 
 | ||||
|  | @ -62,7 +66,8 @@ func (d *Db) AddProject(name string, description string, username string) error | |||
| // Reads a directory of migration files and applies them to the database. | ||||
| // This will eventually be used on an embedded directory | ||||
| func (d *Db) Migrate(dirname string) error { | ||||
| 	files, err := os.ReadDir(dirname) | ||||
| 	// Read the embedded scripts directory | ||||
| 	files, err := scripts.ReadDir("migrations") | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|  | @ -75,7 +80,8 @@ func (d *Db) Migrate(dirname string) error { | |||
| 			continue | ||||
| 		} | ||||
| 
 | ||||
| 		sqlFile := filepath.Join(dirname, file.Name()) | ||||
| 		// This is perhaps not the most elegant way to do this | ||||
| 		sqlFile := filepath.Join("migrations", file.Name()) | ||||
| 		sqlBytes, err := os.ReadFile(sqlFile) | ||||
| 		if err != nil { | ||||
| 			return err | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Imbus
						Imbus