Skip to content

Commit 431dcd7

Browse files
committed
[FIX] Fix database naming issue in python package
1 parent 604543b commit 431dcd7

File tree

4 files changed

+26
-3
lines changed

4 files changed

+26
-3
lines changed

ufazien-cli-py/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "ufazien-cli"
7-
version = "0.1.5"
7+
version = "0.1.7"
88
description = "Command-line interface for deploying web applications on Ufazien platform"
99
readme = "README.md"
1010
requires-python = ">=3.8"

ufazien-cli-py/src/ufazien/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Ufazien CLI - Command-line interface for deploying web applications on Ufazien platform.
33
"""
44

5-
__version__ = "0.1.0"
5+
__version__ = "0.1.7"
66

77
from ufazien.client import UfazienAPIClient
88

ufazien-cli-py/src/ufazien/cli.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
find_website_config,
2121
generate_random_alphabetic,
2222
save_website_config,
23+
subdomain_sanitize
2324
)
2425
from ufazien.project import (
2526
create_config_file,
@@ -171,8 +172,9 @@ def create(
171172
if needs_database:
172173
with console.status("[bold green]Creating database...", spinner="dots"):
173174
try:
175+
db_name_from_subdomain = subdomain_sanitize(subdomain)
174176
random_chars = generate_random_alphabetic(6)
175-
db_name = f"{subdomain}_{random_chars}_db"
177+
db_name = f"{db_name_from_subdomain}_{random_chars}_db"
176178
database_obj = client.create_database(
177179
name=db_name,
178180
db_type='mysql',

ufazien-cli-py/src/ufazien/utils.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22
Utility functions for the Ufazien CLI.
33
"""
44

5+
import hashlib
56
import json
67
import os
78
import random
9+
import re
810
import string
911
import tempfile
1012
import zipfile
@@ -123,4 +125,23 @@ def create_zip(project_dir: str, output_path: Optional[str] = None) -> str:
123125
continue
124126

125127
return output_path
128+
129+
def subdomain_sanitize(subdomain: str) -> str:
130+
name = subdomain.lower()
131+
132+
name = re.sub(r'[^a-z0-9-]', '_', name)
133+
134+
135+
name = name.replace('-', '_')
136+
137+
name = name.strip('_')
138+
139+
name = re.sub(r'_+', '_', name)
140+
141+
if len(name) > 63:
142+
hash_suffix = hashlib.sha1(name.encode()).hexdigest()[:8]
143+
name = name[:54] + "_" + hash_suffix
144+
145+
return name
146+
126147

0 commit comments

Comments
 (0)