feat: 完善后端脚手架基础能力

This commit is contained in:
2026-08-09 01:06:21 +08:00
parent e311f416f2
commit f95311a107
61 changed files with 5630 additions and 521 deletions
+68 -21
View File
@@ -1,19 +1,21 @@
data "external_schema" "gorm" {
program = [
"go",
"run",
"-mod=mod",
"atlas_loader.go",
]
data "external_schema" "gorm_postgres" {
program = ["go", "-C", "tools/atlas-loader", "run", ".", "--dialect", "postgres"]
}
env "local" {
src = data.external_schema.gorm.url
data "external_schema" "gorm_mysql" {
program = ["go", "-C", "tools/atlas-loader", "run", ".", "--dialect", "mysql"]
}
data "external_schema" "gorm_sqlite" {
program = ["go", "-C", "tools/atlas-loader", "run", ".", "--dialect", "sqlite"]
}
env "local_postgres" {
src = data.external_schema.gorm_postgres.url
dev = getenv("DATABASE_DEV_URL")
url = getenv("DATABASE_URL")
exclude = []
migration {
dir = "file://migrations"
dir = "file://migrations/postgres"
}
format {
migrate {
@@ -23,12 +25,11 @@ env "local" {
dev_url_clean = true
}
env "production" {
src = data.external_schema.gorm.url
env "production_postgres" {
src = data.external_schema.gorm_postgres.url
url = getenv("DATABASE_URL")
exclude = []
migration {
dir = "file://migrations"
dir = "file://migrations/postgres"
}
format {
migrate {
@@ -37,12 +38,58 @@ env "production" {
}
}
variable "DATABASE_URL" {
type = string
default = ""
env "local_mysql" {
src = data.external_schema.gorm_mysql.url
dev = getenv("DATABASE_DEV_URL")
url = getenv("DATABASE_URL")
migration {
dir = "file://migrations/mysql"
}
format {
migrate {
diff = "{{ sql . \" \" }}"
}
}
dev_url_clean = true
}
variable "DATABASE_DEV_URL" {
type = string
default = ""
env "production_mysql" {
src = data.external_schema.gorm_mysql.url
url = getenv("DATABASE_URL")
migration {
dir = "file://migrations/mysql"
}
format {
migrate {
diff = "{{ sql . \" \" }}"
}
}
}
env "local_sqlite" {
src = data.external_schema.gorm_sqlite.url
dev = getenv("DATABASE_DEV_URL")
url = getenv("DATABASE_URL")
migration {
dir = "file://migrations/sqlite"
}
format {
migrate {
diff = "{{ sql . \" \" }}"
}
}
dev_url_clean = true
}
env "production_sqlite" {
src = data.external_schema.gorm_sqlite.url
url = getenv("DATABASE_URL")
migration {
dir = "file://migrations/sqlite"
}
format {
migrate {
diff = "{{ sql . \" \" }}"
}
}
}