SQL Column Parser
Project description
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
Project details
Release history Release notifications | RSS feed
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 |