{"id":23718396,"url":"https://github.com/maru44/scheman","last_synced_at":"2025-09-03T19:33:27.483Z","repository":{"id":43371566,"uuid":"460627603","full_name":"maru44/scheman","owner":"maru44","description":"A tool to write schema definition from connected database.","archived":false,"fork":false,"pushed_at":"2023-02-24T08:53:52.000Z","size":108,"stargazers_count":11,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-06-20T16:44:25.098Z","etag":null,"topics":["go","golang","mysql","notion","notion-api","postgresql"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maru44.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2022-02-17T22:22:28.000Z","updated_at":"2024-03-25T02:33:42.000Z","dependencies_parsed_at":"2024-06-20T16:29:07.375Z","dependency_job_id":"2be2502a-d0ef-4236-bd41-847b7f431110","html_url":"https://github.com/maru44/scheman","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maru44%2Fscheman","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maru44%2Fscheman/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maru44%2Fscheman/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maru44%2Fscheman/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maru44","download_url":"https://codeload.github.com/maru44/scheman/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231914838,"owners_count":18445143,"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":["go","golang","mysql","notion","notion-api","postgresql"],"created_at":"2024-12-30T21:21:32.457Z","updated_at":"2024-12-30T21:24:14.097Z","avatar_url":"https://github.com/maru44.png","language":"Go","readme":"# scheman\n\n[![License](https://img.shields.io/badge/license-BSD-blue.svg)](https://github.com/maru44/scheman/blob/master/LICENSE)\n![ActionsCI](https://github.com/maru44/scheman/workflows/Test%20Lint/badge.svg)\n[![Go Report Card](https://goreportcard.com/badge/github.com/maru44/scheman)](https://goreportcard.com/report/github.com/maru44/scheman)\n\nScheman is a tool to visualize tables schema or ERD of connected RDB.\n\nMain purpose of this is accelerating working collaboration between engineers and non-engineers.\n\nYou can choose output destination from `Notion`, `File` or both of them.\n\n### Sample Images\n\nHere is examples for output.\n\n#### Notion\n\n![](https://user-images.githubusercontent.com/46714011/155822065-f0f9f785-b2b1-4abd-b98b-052496dff169.png)\n\n![](https://user-images.githubusercontent.com/46714011/155862202-77e81b99-681a-44fb-bf1c-669dae7f1f5a.png)\n\n#### File\n\n##### definition\n\nhttps://github.com/maru44/scheman/blob/master/testdata/postgres/def.csv\n\n##### ERD\n\nhttps://github.com/maru44/scheman/blob/master/testdata/postgres/erd.md\n\n#### Supported Databases\n\n| Database     | Test Confirmed |\n| ------------ | -------------- |\n| PostgreSQL   | 👌             |\n| MySQL        | 👌             |\n| MSSQL Server |                |\n| SQLite3      |                |\n| CockroachDB  |                |\n\n#### Supported Output Destination\n\nOnly Notion is supported as output destination now. But I am going to add output destination like spread-sheat.\n\n| Output Destination | Test Confirmed |\n| ------------------ | -------------- |\n| Notion             | 👌             |\n| File               | 👌             |\n\n## How to Use\n\nInstall this package and write settings for connection.\n\n**_installation_**\n\n```shell: installation\ngo install github.com/maru44/scheman@v1.3.0\n```\n\n**_example for PostgreSQL - Notion)_**\n\n```shell: Notion - PostgreSQL\ngo install github.com/volatiletech/sqlboiler/v4/drivers/sqlboiler-psql@v4.8.6 \\\n \u0026\u0026 scheman psql --services notion --erd-outputs notion \\\n  --notion-token ${NOTION_TOKEN} --notion-page-id ${PSQL_NOTION_PAGE_ID}\n```\n\nIf you want to overwrite your schema-definition tables or ERD, you have to set `notion-table-index` after this command done. This value is oututted in your command line.\n\n![](https://user-images.githubusercontent.com/46714011/156856299-67bed77d-d744-458f-9967-61d50983eade.png)\n\n**_example for MySQL - File with sqlboiler.toml)_**\n\n```shell: File - MySQL\ngo install github.com/volatiletech/sqlboiler/v4/drivers/sqlboiler-mysql@v4.8.6 \\\n \u0026\u0026 scheman mysql -c sqlboiler.toml --def-file def.csv --erd-file erd.md\n```\n\n#### Generic config options\n\n| Name               | Defaults  |                                                                                                   |\n| ------------------ | --------- | ------------------------------------------------------------------------------------------------- |\n| config             | \"scheman\" | if you use sqlboiler, you can use sqlboiler.toml(.yaml) with setting this \"sqlboiler.toml(.yaml)\" |\n| services           | [ ]       | notion                                                                                            |\n| erd-outputs        | [ ]       | notion                                                                                            |\n| notion-page-id     | \"\"        | required if output destinations contain \"notion\"                                                  |\n| notion-page-token  | \"\"        | required if output destinations contain \"notion\"                                                  |\n| notion-table-index | \"\"        | if you want to overwrite definition table, please fill this                                       |\n| def-file           | \"\"        | The file name. required if output destinations if you want to output tables schema to file        |\n| erd-file           | \"\"        | The file name. required if output destinations if you want to output ERD to file                  |\n| disable-views      | false     |                                                                                                   |\n| attr-ignore        | [ ]       |                                                                                                   |\n\n#### Database Driver Configuration\n\nSettings for database you want to connect.\n\n| Name      | Required | Postgres Default | MySQL Default | MSSQL Default |\n| --------- | -------- | ---------------- | ------------- | ------------- |\n| schema    | no       | \"public\"         | none          | \"dbo\"         |\n| dbname    | yes      | none             | none          | none          |\n| host      | yes      | none             | none          | none          |\n| port      | no       | 5432             | 3306          | 1433          |\n| user      | yes      | none             | none          | none          |\n| pass      | no       | none             | none          | none          |\n| sslmode   | no       | \"require\"        | \"true\"        | \"true\"        |\n| whitelist | no       | []               | []            | []            |\n| blacklist | no       | []               | []            | []            |\n\nref: https://github.com/volatiletech/sqlboiler#database-driver-configuration\n\n## thx\n\nhttps://github.com/volatiletech/sqlboiler\n\nhttps://github.com/dstotijn/go-notion\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaru44%2Fscheman","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaru44%2Fscheman","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaru44%2Fscheman/lists"}