WIP: SQL Column Parser
Library used to parse SQL CREATE TABLE statements into Python code used for code generation.
Intended usecase
Consider the following:
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
CREATE TABLE users (
identifier UUID DEFAULT uuid_generate_v4(),
email VARCHAR(256) UNIQUE NOT NULL,
name VARCHAR(256) NOT NULL,
is_admin BOOLEAN DEFAULT False,
password VARCHAR(512) NOT NULL,
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (identifier)
);
CREATE INDEX users_email_idx ON users USING btree (email);
CREATE INDEX users_name_idx ON users USING btree (name);
The output would then be a list of columns of type:
@dataclasses.dataclass
class Table:
"""Table.
"""
columns: List[Column]
names: Names
class ColumnType(pydantic.BaseModel):
"""ColumnType.
"""
name: str
max_bytesize: Optional[pydantic.conint(ge=1)]
nullable: bool = True
default: Optional[str] = None
@dataclasses.dataclass
class Column:
"""Column.
"""
name: str
col_type: ColumnType
is_primary_key: bool
@dataclasses.dataclass
class Names():
"""Names.
"""
singular_name: str
plural_name: str
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file sql_column_parser-0.1.0.tar.gz.
File metadata
- Download URL: sql_column_parser-0.1.0.tar.gz
- Upload date:
- Size: 6.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
66752eca473c6d3cf467368b0f6af49d3f6da387a4530be3fb978ca7a55f2714
|
|
| MD5 |
e3e8565469901f9be1641b43fcd9fcc1
|
|
| BLAKE2b-256 |
13a23bbc5d4fe4f21c2e2236947036054d4c8d2428c68dca4c5f3f27a921e82b
|