feat: postgresql支持

main
NoahLan 4 days ago
parent 7f992490b1
commit 8e23edcb90

@ -91,6 +91,7 @@ iticli release v0.2.5
```bash
iticli create my-business-app
iticli create --with-system my-system-app
iticli create --database postgresql my-postgres-app
```
使用当前框架工作区作为模板源:

@ -87,6 +87,12 @@ def build_parser() -> argparse.ArgumentParser:
create_parser.add_argument("--target", help="target directory, defaults to project_name")
create_parser.add_argument("--slug", help="distribution/project slug, defaults to target basename")
create_parser.add_argument("--display-name", help="business project display name")
create_parser.add_argument(
"--database",
choices=["mysql", "postgresql"],
default=None,
help="database dialect rendered into the project, defaults to template value",
)
create_parser.add_argument("--source", help="Copier template source, defaults to iTi-Flask private Git")
create_parser.add_argument("--ref", default=DEFAULT_COPIER_REF, help="Copier source ref, defaults to HEAD")
create_parser.add_argument("--local", action="store_true", help="use current iTi-Flask framework checkout as template source")
@ -229,6 +235,8 @@ def handle_create(args: argparse.Namespace) -> int:
"-d",
f"include_system={str(args.with_system).lower()}",
]
if args.database is not None:
cmd.extend(["-d", f"database_dialect={args.database}"])
if args.framework_git:
cmd.extend(["-d", f"framework_git={args.framework_git}"])
if args.framework_tag is not None:

@ -176,6 +176,15 @@ def test_parser_exposes_update_instead_of_sync() -> None:
parser.parse_args(["update", "flask"])
def test_parser_accepts_create_database_dialect() -> None:
parser = build_parser()
args = parser.parse_args(["create", "--database", "postgresql", "demo"])
assert args.command == "create"
assert args.database == "postgresql"
def test_version_helpers() -> None:
assert normalize_version("v1.2.3") == "1.2.3"
assert version_is_newer("1.2.3", "1.2.4") is True

Loading…
Cancel
Save