2022-03-23 08:02:39 +00:00
|
|
|
package setup
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
"database/sql"
|
|
|
|
_ "embed"
|
|
|
|
)
|
|
|
|
|
|
|
|
var (
|
|
|
|
//go:embed 01_sql/adminapi.sql
|
|
|
|
createAdminViews string
|
|
|
|
//go:embed 01_sql/auth.sql
|
|
|
|
createAuthViews string
|
|
|
|
//go:embed 01_sql/projections.sql
|
|
|
|
createProjections string
|
|
|
|
)
|
|
|
|
|
|
|
|
type ProjectionTable struct {
|
|
|
|
dbClient *sql.DB
|
|
|
|
}
|
|
|
|
|
|
|
|
func (mig *ProjectionTable) Execute(ctx context.Context) error {
|
2022-08-31 07:52:43 +00:00
|
|
|
stmt := createAdminViews + createAuthViews + createProjections
|
2022-03-23 08:02:39 +00:00
|
|
|
_, err := mig.dbClient.ExecContext(ctx, stmt)
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
|
|
|
func (mig *ProjectionTable) String() string {
|
|
|
|
return "01_tables"
|
|
|
|
}
|