subzero-starter-kit 项目教程

subzero-starter-kit 项目教程

subzero-starter-kit Starter Kit and tooling for authoring GraphQL/REST API backends with subZero subzero-starter-kit 项目地址: https://gitcode.com/gh_mirrors/su/subzero-starter-kit

1. 项目的目录结构及介绍

subzero-starter-kit/
├── db/
│   ├── src/
│   │   ├── authorization/
│   │   │   └── privileges.sql
│   │   └── init.sh
│   └── migrations/
├── .env
├── docker-compose.yml
└── README.md

目录结构介绍

  • db/: 数据库相关文件夹,包含数据库的初始化脚本和迁移文件。
    • src/: 数据库源代码文件夹,包含数据库的初始化脚本和权限配置。
      • authorization/: 权限配置文件夹,包含数据库权限相关的SQL文件。
        • privileges.sql: 数据库权限配置文件。
      • init.sh: 数据库初始化脚本。
    • migrations/: 数据库迁移文件夹,包含数据库的迁移脚本。
  • .env: 项目的配置文件,包含Docker和subzero-cli的配置。
  • docker-compose.yml: Docker Compose配置文件,用于定义和运行多容器Docker应用程序。
  • README.md: 项目说明文件,包含项目的简介和使用说明。

2. 项目的启动文件介绍

docker-compose.yml

docker-compose.yml 文件是用于定义和运行多容器Docker应用程序的配置文件。通过该文件,可以一键启动项目所需的所有服务。

version: '3.7'
services:
  db:
    image: postgres:12
    environment:
      POSTGRES_USER: ${POSTGRES_USER}
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
      POSTGRES_DB: ${POSTGRES_DB}
    volumes:
      - ./db/src:/docker-entrypoint-initdb.d
    ports:
      - "5432:5432"

db/src/init.sh

init.sh 是数据库的初始化脚本,用于在数据库容器启动时执行初始化操作。

#!/bin/bash

psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
  CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
  CREATE EXTENSION IF NOT EXISTS "pgcrypto";
EOSQL

3. 项目的配置文件介绍

.env

.env 文件是项目的配置文件,包含Docker和subzero-cli的配置。

# Docker specific configs
# use only letters and numbers for the project name
COMPOSE_PROJECT_NAME=subzerostarterkit

# subzero-cli custom settings
# the default diff tool to use when generating migrations
SQL_DIFF_TOOL=migra

# we have a custom log_line_prefix to facilitate log parsing/filtering for subzero-cli
# this is configured in db/src/init.sh
DB_LOG_LINE_MARKER=SBZ

# we want to include only log lines from this "application" (database client)
# FILTER_DB_APP_NAME=subzero

配置文件介绍

  • COMPOSE_PROJECT_NAME: Docker Compose项目的名称,用于唯一标识项目。
  • SQL_DIFF_TOOL: 用于生成数据库迁移的差异工具,默认使用migra
  • DB_LOG_LINE_MARKER: 数据库日志行标记,用于日志解析和过滤。
  • FILTER_DB_APP_NAME: 过滤数据库客户端日志的应用名称,可选配置。

subzero-starter-kit Starter Kit and tooling for authoring GraphQL/REST API backends with subZero subzero-starter-kit 项目地址: https://gitcode.com/gh_mirrors/su/subzero-starter-kit

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

戴玫芹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值