From 00ea2f40e2bb3b4b027b9720ff7c54795ce9dfca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=97=E5=AD=90?= Date: Tue, 12 Nov 2024 19:39:47 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=88=9B=E5=BB=BA=E7=BD=91=E7=AB=99?= =?UTF-8?q?=E6=9C=AA=E5=88=9B=E5=BB=BApostgres=E6=95=B0=E6=8D=AE=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/data/website.go | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/internal/data/website.go b/internal/data/website.go index 03b8f242..be566cde 100644 --- a/internal/data/website.go +++ b/internal/data/website.go @@ -315,13 +315,22 @@ func (r *websiteRepo) Create(req *request.WebsiteCreate) (*biz.Website, error) { } } if req.DB && req.DBType == "postgresql" { - _, _ = shell.Execf(`echo "CREATE DATABASE '%s';" | su - postgres -c "psql"`, req.DBName) - _, _ = shell.Execf(`echo "CREATE USER '%s' WITH PASSWORD '%s';" | su - postgres -c "psql"`, req.DBUser, req.DBPassword) - _, _ = shell.Execf(`echo "ALTER DATABASE '%s' OWNER TO '%s';" | su - postgres -c "psql"`, req.DBName, req.DBUser) - _, _ = shell.Execf(`echo "GRANT ALL PRIVILEGES ON DATABASE '%s' TO '%s';" | su - postgres -c "psql"`, req.DBName, req.DBUser) - userConfig := "host " + req.DBName + " " + req.DBUser + " 127.0.0.1/32 scram-sha-256" - _, _ = shell.Execf(`echo "`+userConfig+`" >> %s/server/postgresql/data/pg_hba.conf`, app.Root) - _ = systemctl.Reload("postgresql") + postgres, err := db.NewPostgres("postgres", "", "127.0.0.1", 5432, fmt.Sprintf("%s/server/postgresql/data/pg_hba.conf", app.Root)) + if err != nil { + return nil, err + } + if err = postgres.DatabaseCreate(req.DBName); err != nil { + return nil, err + } + if err = postgres.UserCreate(req.DBUser, req.DBPassword); err != nil { + return nil, err + } + if err = postgres.PrivilegesGrant(req.DBUser, req.DBName); err != nil { + return nil, err + } + if err = postgres.HostAdd(req.DBName, req.DBUser, "127.0.0.1/32"); err != nil { + return nil, err + } } return w, nil