initial commit
This commit is contained in:
parent
ebd5bb09fd
commit
3046604b64
26 changed files with 1535 additions and 82 deletions
|
|
@ -57,14 +57,14 @@ func FindMigrations(migrationPath string) ([]Migration, error) {
|
|||
}
|
||||
|
||||
contentStr := string(content)
|
||||
migration := parseMigration(contentStr)
|
||||
migration := parseMigration(contentStr, entry.Name())
|
||||
migrations = append(migrations, migration)
|
||||
}
|
||||
|
||||
return migrations, nil
|
||||
}
|
||||
|
||||
func parseMigration(content string) Migration {
|
||||
func parseMigration(content string, filename string) Migration {
|
||||
// Parse goose-style migration: -- +goose Up / -- +goose Down
|
||||
lines := strings.Split(content, "\n")
|
||||
var upSQL strings.Builder
|
||||
|
|
@ -90,9 +90,14 @@ func parseMigration(content string) Migration {
|
|||
// Extract version from filename (first part before _)
|
||||
version := ""
|
||||
desc := ""
|
||||
if idx := strings.Index(content, "_"); idx >= 0 {
|
||||
version = content[:idx]
|
||||
desc = content[idx+1 : strings.Index(content, "_")] // simplistic
|
||||
if idx := strings.Index(filename, "_"); idx >= 0 {
|
||||
version = filename[:idx]
|
||||
remaining := filename[idx+1:]
|
||||
if idx2 := strings.Index(remaining, "_"); idx2 >= 0 {
|
||||
desc = remaining[:idx2]
|
||||
} else {
|
||||
desc = strings.TrimSuffix(remaining, ".sql")
|
||||
}
|
||||
}
|
||||
|
||||
return Migration{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue