{"id":18357177,"url":"https://github.com/ilevn/sql-generator","last_synced_at":"2025-07-24T14:02:41.021Z","repository":{"id":83510980,"uuid":"318613114","full_name":"ilevn/sql-generator","owner":"ilevn","description":"SQL Generator for Postgresql-backed systems","archived":false,"fork":false,"pushed_at":"2021-05-19T07:43:53.000Z","size":104,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-15T17:48:25.337Z","etag":null,"topics":["generator","postgresql","psycopg2","python","python39","sql"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ilevn.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-04T19:13:36.000Z","updated_at":"2021-05-08T14:16:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"1f6b4691-28e9-49db-94f8-b820240cba69","html_url":"https://github.com/ilevn/sql-generator","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilevn%2Fsql-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilevn%2Fsql-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilevn%2Fsql-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilevn%2Fsql-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ilevn","download_url":"https://codeload.github.com/ilevn/sql-generator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248142939,"owners_count":21054671,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["generator","postgresql","psycopg2","python","python39","sql"],"created_at":"2024-11-05T22:13:09.452Z","updated_at":"2025-04-10T01:53:35.197Z","avatar_url":"https://github.com/ilevn.png","language":"Python","readme":"sql-generator\n=============\n\nThis tool lets you generate postgresql insert and copy statements for common data types.\nIt's pretty minimalistic at the moment but offers support for basic statements \nand foreign key relations.\n\nIn addition to that, `sql-generator` supports custom generators for table columns\nand data types.\n\nInstallation\n------------\n\n**Python 3.9 or higher is required**\n\nTo install the module, run the following command:\n\n.. code:: sh\n\n    # Linux/macOS\n    python3 -m pip install -U sql-generator\n    \n    # Windows\n    py -3 -m pip install -U sql-generator\n    \n    # Poetry\n    poetry add sql-generator\n\nUsage\n-----\n\n.. code:: py\n\n    import logging\n    import psycopg2\n    from sql_generator import Generator, write_statements_as_copy, write_statements_as_insert\n\n    logging.basicConfig(level=logging.INFO)\n\n\n    # Custom generator for all columns with `custom_a` as name.\n    def gen_column_a(column):\n        return f\"My data type is {column.data_type}!\"\n\n\n    conn = psycopg2.connect(\"your dsn\")\n    gen = Generator(conn, column_generators={\"column_a\": gen_column_a})\n\n    # Amount of inserts per table.\n    amounts = {\"table_a\": 50, \"table_b\": 25, \"table_c\": 100}\n    generated_statements: dict = gen.generate_table_data_for_all(amounts)\n\n    # Write generated statements as INSERTs to file.\n    # You can optionally truncate your db with `should_truncate=True`.\n    write_statements_as_insert(generated_statements, dest=\"insert_output.sql\")\n\n    # Write generated statements as COPYs to file.\n    write_statements_as_copy(generated_statements, dest=\"copy_output.sql\")\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filevn%2Fsql-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Filevn%2Fsql-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filevn%2Fsql-generator/lists"}