@dbml/cli 5.1.0 → 5.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.babelrc +2 -2
- package/{__test__ → __tests__}/cli.test.js +3 -4
- package/__tests__/db2dbml/mssql/dbml-error.log +11 -0
- package/__tests__/db2dbml/mssql/expect-out-files/schema.dbml +226 -0
- package/{__test__ → __tests__}/db2dbml/mssql/schema.sql +11 -0
- package/__tests__/db2dbml/mysql/dbml-error.log +3 -0
- package/__tests__/db2dbml/mysql/expect-out-files/schema.dbml +200 -0
- package/{__test__ → __tests__}/db2dbml/mysql/schema.sql +9 -0
- package/__tests__/db2dbml/postgres/dbml-error.log +7 -0
- package/__tests__/db2dbml/postgres/expect-out-files/schema.dbml +196 -0
- package/{__test__ → __tests__}/db2dbml/postgres/schema.sql +10 -0
- package/{__test__ → __tests__}/db2dbml_bin.js +0 -1
- package/__tests__/dbml2sql/filename --mysql --out-file/dbml-error.log +0 -0
- package/__tests__/dbml2sql/filename --mysql --out-file/out-files/schema.sql +65 -0
- package/__tests__/dbml2sql/filename --mysql stdout/dbml-error.log +0 -0
- package/__tests__/dbml2sql/filename --oracle --out-file/dbml-error.log +0 -0
- package/__tests__/dbml2sql/filename --oracle --out-file/out-files/schema.sql +61 -0
- package/__tests__/dbml2sql/filename --oracle stdout/dbml-error.log +0 -0
- package/__tests__/dbml2sql/filename --out-file/dbml-error.log +0 -0
- package/__tests__/dbml2sql/filename --out-file/out-files/schema.sql +77 -0
- package/__tests__/dbml2sql/filename --postgres --out-file/dbml-error.log +0 -0
- package/__tests__/dbml2sql/filename --postgres --out-file/out-files/schema.sql +77 -0
- package/__tests__/dbml2sql/filename --postgres stdout/dbml-error.log +0 -0
- package/__tests__/dbml2sql/filename stdout/dbml-error.log +0 -0
- package/__tests__/dbml2sql/filenames --mysql --out-file/dbml-error.log +0 -0
- package/__tests__/dbml2sql/filenames --mysql --out-file/out-files/schema.sql +172 -0
- package/__tests__/dbml2sql/filenames --mysql stdout/dbml-error.log +0 -0
- package/__tests__/dbml2sql/filenames --oracle --out-file/dbml-error.log +0 -0
- package/__tests__/dbml2sql/filenames --oracle --out-file/out-files/schema.sql +172 -0
- package/__tests__/dbml2sql/filenames --oracle stdout/dbml-error.log +0 -0
- package/__tests__/dbml2sql/filenames --out-file/dbml-error.log +0 -0
- package/__tests__/dbml2sql/filenames --out-file/out-files/schema.sql +172 -0
- package/__tests__/dbml2sql/filenames --postgres --out-file/dbml-error.log +0 -0
- package/__tests__/dbml2sql/filenames --postgres --out-file/out-files/schema.sql +172 -0
- package/__tests__/dbml2sql/filenames --postgres stdout/dbml-error.log +0 -0
- package/__tests__/dbml2sql/filenames stdout/dbml-error.log +0 -0
- package/__tests__/dbml2sql/multiple_schema_mssql/dbml-error.log +0 -0
- package/__tests__/dbml2sql/multiple_schema_mssql/out-files/multiple_schema.out.sql +62 -0
- package/__tests__/dbml2sql/multiple_schema_mysql/dbml-error.log +0 -0
- package/__tests__/dbml2sql/multiple_schema_mysql/out-files/multiple_schema.out.sql +50 -0
- package/__tests__/dbml2sql/multiple_schema_oracle/dbml-error.log +0 -0
- package/__tests__/dbml2sql/multiple_schema_oracle/out-files/multiple_schema.out.sql +88 -0
- package/__tests__/dbml2sql/multiple_schema_pg/dbml-error.log +0 -0
- package/__tests__/dbml2sql/multiple_schema_pg/out-files/multiple_schema.out.sql +67 -0
- package/__tests__/dbml2sql/syntax-error/dbml-error.log +9 -0
- package/{__test__ → __tests__}/dbml2sql_bin.js +0 -1
- package/__tests__/sql2dbml/custom-error-alter-table-column-not-found --oracle/in-files/schema.sql +6 -0
- package/__tests__/sql2dbml/custom-error-alter-table-column-not-found --oracle/options.json +8 -0
- package/__tests__/sql2dbml/custom-error-alter-table-column-not-found --oracle/stdout.txt +4 -0
- package/__tests__/sql2dbml/custom-error-alter-table-table-not-found --oracle/in-files/schema.sql +2 -0
- package/__tests__/sql2dbml/custom-error-alter-table-table-not-found --oracle/options.json +8 -0
- package/__tests__/sql2dbml/custom-error-alter-table-table-not-found --oracle/stdout.txt +4 -0
- package/__tests__/sql2dbml/custom-error-column-comment-column-not-found --oracle/in-files/schema.sql +6 -0
- package/__tests__/sql2dbml/custom-error-column-comment-column-not-found --oracle/options.json +8 -0
- package/__tests__/sql2dbml/custom-error-column-comment-column-not-found --oracle/stdout.txt +4 -0
- package/__tests__/sql2dbml/custom-error-column-comment-table-not-found --oracle/in-files/schema.sql +5 -0
- package/__tests__/sql2dbml/custom-error-column-comment-table-not-found --oracle/options.json +8 -0
- package/__tests__/sql2dbml/custom-error-column-comment-table-not-found --oracle/stdout.txt +4 -0
- package/__tests__/sql2dbml/custom-error-create-index-table-not-found --oracle/in-files/schema.sql +1 -0
- package/__tests__/sql2dbml/custom-error-create-index-table-not-found --oracle/options.json +8 -0
- package/__tests__/sql2dbml/custom-error-create-index-table-not-found --oracle/stdout.txt +4 -0
- package/__tests__/sql2dbml/custom-error-table-comment-table-not-found --oracle/in-files/schema.sql +5 -0
- package/__tests__/sql2dbml/custom-error-table-comment-table-not-found --oracle/options.json +8 -0
- package/__tests__/sql2dbml/custom-error-table-comment-table-not-found --oracle/stdout.txt +4 -0
- package/__tests__/sql2dbml/filename --mssql --out-file/dbml-error.log +0 -0
- package/__tests__/sql2dbml/filename --mssql --out-file/out-files/schema.dbml +25 -0
- package/__tests__/sql2dbml/filename --mysql --out-file/dbml-error.log +0 -0
- package/__tests__/sql2dbml/filename --mysql --out-file/out-files/schema.dbml +74 -0
- package/__tests__/sql2dbml/filename --mysql stdout/dbml-error.log +0 -0
- package/__tests__/sql2dbml/filename --oracle --out-file/expect-out-files/schema.dbml +83 -0
- package/__tests__/sql2dbml/filename --oracle --out-file/in-files/schema.sql +147 -0
- package/__tests__/sql2dbml/filename --oracle --out-file/options.json +8 -0
- package/__tests__/sql2dbml/filename --oracle --out-file/stdout.txt +1 -0
- package/__tests__/sql2dbml/filename --out-file/dbml-error.log +0 -0
- package/__tests__/sql2dbml/filename --postgres --out-file/dbml-error.log +0 -0
- package/__tests__/sql2dbml/filename --postgres --out-file/expect-out-files/schema.dbml +74 -0
- package/__tests__/sql2dbml/filename --postgres --out-file/out-files/schema.dbml +74 -0
- package/__tests__/sql2dbml/filename --postgres stdout/dbml-error.log +0 -0
- package/__tests__/sql2dbml/filename --snowflake stdout/dbml-error.log +0 -0
- package/__tests__/sql2dbml/filename stdout/dbml-error.log +0 -0
- package/__tests__/sql2dbml/filenames --mysql --out-file/dbml-error.log +0 -0
- package/__tests__/sql2dbml/filenames --mysql --out-file/out-files/schema.dbml +170 -0
- package/__tests__/sql2dbml/filenames --mysql stdout/dbml-error.log +0 -0
- package/__tests__/sql2dbml/filenames --out-file/dbml-error.log +0 -0
- package/__tests__/sql2dbml/filenames --postgres --out-file/dbml-error.log +0 -0
- package/__tests__/sql2dbml/filenames --postgres --out-file/expect-out-files/schema.dbml +170 -0
- package/__tests__/sql2dbml/filenames --postgres --out-file/out-files/schema.dbml +170 -0
- package/__tests__/sql2dbml/filenames --postgres stdout/dbml-error.log +0 -0
- package/__tests__/sql2dbml/filenames stdout/dbml-error.log +0 -0
- package/__tests__/sql2dbml/multiple_schema_mssql/dbml-error.log +0 -0
- package/__tests__/sql2dbml/multiple_schema_mssql/out-files/multiple_schema.out.dbml +58 -0
- package/__tests__/sql2dbml/multiple_schema_mysql/dbml-error.log +0 -0
- package/__tests__/sql2dbml/multiple_schema_mysql/out-files/multiple_schema.out.dbml +136 -0
- package/__tests__/sql2dbml/multiple_schema_pg/dbml-error.log +0 -0
- package/__tests__/sql2dbml/multiple_schema_pg/out-files/multiple_schema.out.dbml +101 -0
- package/__tests__/sql2dbml/syntax-error/dbml-error.log +9 -0
- package/__tests__/sql2dbml/syntax-error-duplicate-endpoints --mssql/dbml-error.log +9 -0
- package/__tests__/sql2dbml/syntax-error-duplicate-endpoints --mysql/dbml-error.log +9 -0
- package/{__test__ → __tests__}/sql2dbml_bin.js +0 -1
- package/bin/db2dbml.js +0 -1
- package/bin/dbml2sql.js +0 -1
- package/bin/sql2dbml.js +0 -1
- package/eslint.config.ts +96 -0
- package/jest.config.ts +13 -0
- package/lib/cli/index.js +1 -3
- package/lib/cli/utils.js +8 -6
- package/lib/helpers/logger.js +0 -2
- package/package.json +17 -14
- package/src/cli/index.js +1 -1
- package/src/cli/utils.js +5 -1
- package/src/helpers/logger.js +0 -1
- package/tsconfig.json +13 -5
- /package/{__test__ → __tests__}/db2dbml/mssql/options.json +0 -0
- /package/{__test__/db2dbml/mssql/expect-out-files → __tests__/db2dbml/mssql/out-files}/schema.dbml +0 -0
- /package/{__test__ → __tests__}/db2dbml/mssql/stdout.txt +0 -0
- /package/{__test__ → __tests__}/db2dbml/mysql/options.json +0 -0
- /package/{__test__/db2dbml/mysql/expect-out-files → __tests__/db2dbml/mysql/out-files}/schema.dbml +0 -0
- /package/{__test__ → __tests__}/db2dbml/mysql/stdout.txt +0 -0
- /package/{__test__ → __tests__}/db2dbml/postgres/options.json +0 -0
- /package/{__test__/db2dbml/postgres/expect-out-files → __tests__/db2dbml/postgres/out-files}/schema.dbml +0 -0
- /package/{__test__ → __tests__}/db2dbml/postgres/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --mysql --out-file/expect-out-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --mysql --out-file/in-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --mysql --out-file/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --mysql --out-file/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --mysql stdout/in-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --mysql stdout/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --mysql stdout/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --oracle --out-file/expect-out-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --oracle --out-file/in-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --oracle --out-file/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --oracle --out-file/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --oracle stdout/in-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --oracle stdout/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --oracle stdout/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --out-file/expect-out-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --out-file/in-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --out-file/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --out-file/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --postgres --out-file/expect-out-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --postgres --out-file/in-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --postgres --out-file/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --postgres --out-file/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --postgres stdout/in-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --postgres stdout/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename --postgres stdout/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename stdout/in-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename stdout/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filename stdout/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --mysql --out-file/expect-out-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --mysql --out-file/in-files/business.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --mysql --out-file/in-files/customer.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --mysql --out-file/in-files/inventory.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --mysql --out-file/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --mysql --out-file/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --mysql stdout/in-files/business.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --mysql stdout/in-files/customer.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --mysql stdout/in-files/inventory.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --mysql stdout/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --mysql stdout/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --oracle --out-file/expect-out-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --oracle --out-file/in-files/business.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --oracle --out-file/in-files/customer.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --oracle --out-file/in-files/inventory.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --oracle --out-file/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --oracle --out-file/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --oracle stdout/in-files/business.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --oracle stdout/in-files/customer.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --oracle stdout/in-files/inventory.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --oracle stdout/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --oracle stdout/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --out-file/expect-out-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --out-file/in-files/business.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --out-file/in-files/customer.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --out-file/in-files/inventory.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --out-file/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --out-file/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --postgres --out-file/expect-out-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --postgres --out-file/in-files/business.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --postgres --out-file/in-files/customer.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --postgres --out-file/in-files/inventory.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --postgres --out-file/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --postgres --out-file/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --postgres stdout/in-files/business.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --postgres stdout/in-files/customer.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --postgres stdout/in-files/inventory.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --postgres stdout/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames --postgres stdout/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames stdout/in-files/business.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames stdout/in-files/customer.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames stdout/in-files/inventory.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames stdout/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/filenames stdout/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mssql/expect-out-files/multiple_schema.out.sql +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mssql/in-files/multiple_schema.in.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mssql/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mssql/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mysql/expect-out-files/multiple_schema.out.sql +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mysql/in-files/multiple_schema.in.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mysql/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mysql/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_oracle/expect-out-files/multiple_schema.out.sql +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_oracle/in-files/multiple_schema.in.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_oracle/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_oracle/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_pg/expect-out-files/multiple_schema.out.sql +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_pg/in-files/multiple_schema.in.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_pg/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/multiple_schema_pg/stdout.txt +0 -0
- /package/{__test__ → __tests__}/dbml2sql/syntax-error/in-files/ecommerce.dbml +0 -0
- /package/{__test__ → __tests__}/dbml2sql/syntax-error/options.json +0 -0
- /package/{__test__ → __tests__}/dbml2sql/syntax-error/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --mssql --out-file/expect-out-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --mssql --out-file/in-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --mssql --out-file/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --mssql --out-file/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --mysql --out-file/expect-out-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --mysql --out-file/in-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --mysql --out-file/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --mysql --out-file/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --mysql stdout/in-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --mysql stdout/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --mysql stdout/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --out-file/expect-out-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --out-file/in-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --out-file/options.json +0 -0
- /package/{__test__/sql2dbml/filename --postgres --out-file/expect-out-files → __tests__/sql2dbml/filename --out-file/out-files}/schema.dbml +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --out-file/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --postgres --out-file/in-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --postgres --out-file/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --postgres --out-file/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --postgres stdout/in-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --postgres stdout/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --postgres stdout/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --snowflake stdout/in-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --snowflake stdout/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename --snowflake stdout/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename stdout/in-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename stdout/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filename stdout/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --mysql --out-file/expect-out-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --mysql --out-file/in-files/business.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --mysql --out-file/in-files/customer.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --mysql --out-file/in-files/inventory.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --mysql --out-file/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --mysql --out-file/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --mysql stdout/in-files/business.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --mysql stdout/in-files/customer.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --mysql stdout/in-files/inventory.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --mysql stdout/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --mysql stdout/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --out-file/expect-out-files/schema.dbml +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --out-file/in-files/business.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --out-file/in-files/customer.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --out-file/in-files/inventory.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --out-file/options.json +0 -0
- /package/{__test__/sql2dbml/filenames --postgres --out-file/expect-out-files → __tests__/sql2dbml/filenames --out-file/out-files}/schema.dbml +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --out-file/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --postgres --out-file/in-files/business.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --postgres --out-file/in-files/customer.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --postgres --out-file/in-files/inventory.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --postgres --out-file/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --postgres --out-file/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --postgres stdout/in-files/business.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --postgres stdout/in-files/customer.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --postgres stdout/in-files/inventory.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --postgres stdout/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames --postgres stdout/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames stdout/in-files/business.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames stdout/in-files/customer.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames stdout/in-files/inventory.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames stdout/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/filenames stdout/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mssql/expect-out-files/multiple_schema.out.dbml +0 -0
- /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mssql/in-files/multiple_schema.in.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mssql/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mssql/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mysql/expect-out-files/multiple_schema.out.dbml +0 -0
- /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mysql/in-files/multiple_schema.in.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mysql/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mysql/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/multiple_schema_pg/expect-out-files/multiple_schema.out.dbml +0 -0
- /package/{__test__ → __tests__}/sql2dbml/multiple_schema_pg/in-files/multiple_schema.in.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/multiple_schema_pg/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/multiple_schema_pg/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/syntax-error/in-files/business.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/syntax-error/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/syntax-error/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/syntax-error-duplicate-endpoints --mssql/in-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/syntax-error-duplicate-endpoints --mssql/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/syntax-error-duplicate-endpoints --mssql/stdout.txt +0 -0
- /package/{__test__ → __tests__}/sql2dbml/syntax-error-duplicate-endpoints --mysql/in-files/schema.sql +0 -0
- /package/{__test__ → __tests__}/sql2dbml/syntax-error-duplicate-endpoints --mysql/options.json +0 -0
- /package/{__test__ → __tests__}/sql2dbml/syntax-error-duplicate-endpoints --mysql/stdout.txt +0 -0
package/.babelrc
CHANGED
|
@@ -23,8 +23,8 @@ describe('@dbml/cli', () => {
|
|
|
23
23
|
const expectStdout = fs.readFileSync(path.join(dirName, './stdout.txt'), 'utf-8');
|
|
24
24
|
const actualStdout = stripAnsi(stdout);
|
|
25
25
|
|
|
26
|
-
// folder name contains `
|
|
27
|
-
if (path.basename(dirName).includes('
|
|
26
|
+
// folder name contains `error`
|
|
27
|
+
if (path.basename(dirName).includes('error')) {
|
|
28
28
|
expect(actualStdout).toContain(expectStdout);
|
|
29
29
|
} else {
|
|
30
30
|
expect(actualStdout).toBe(expectStdout);
|
|
@@ -42,7 +42,7 @@ describe('@dbml/cli', () => {
|
|
|
42
42
|
};
|
|
43
43
|
|
|
44
44
|
const timeout = 100000;
|
|
45
|
-
|
|
45
|
+
|
|
46
46
|
test.each(scanDirNames(__dirname, 'dbml2sql'))('dbml2sql/%s', async (dirName) => {
|
|
47
47
|
await runTest(path.join(__dirname, 'dbml2sql', dirName), '../bin/dbml2sql.js');
|
|
48
48
|
}, timeout);
|
|
@@ -54,5 +54,4 @@ describe('@dbml/cli', () => {
|
|
|
54
54
|
test.each(scanDirNames(__dirname, 'db2dbml'))('db2dbml/%s', async (dirName) => {
|
|
55
55
|
await runTest(path.join(__dirname, 'db2dbml', dirName), '../bin/db2dbml.js');
|
|
56
56
|
}, timeout);
|
|
57
|
-
/* eslint-enable */
|
|
58
57
|
});
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
2025-11-17T14:38:14.793Z
|
|
2
|
+
ConnectionError: Failed to connect to localhost:1433 - Could not connect (sequence)
|
|
3
|
+
at /home/huydna/projects/dbml/node_modules/mssql/lib/tedious/connection-pool.js:85:17
|
|
4
|
+
at Connection.onConnect (/home/huydna/projects/dbml/node_modules/tedious/lib/connection.js:849:9)
|
|
5
|
+
at Object.onceWrapper (node:events:633:26)
|
|
6
|
+
at Connection.emit (node:events:518:28)
|
|
7
|
+
at Connection.emit (/home/huydna/projects/dbml/node_modules/tedious/lib/connection.js:970:18)
|
|
8
|
+
at Connection.socketError (/home/huydna/projects/dbml/node_modules/tedious/lib/connection.js:1351:12)
|
|
9
|
+
at /home/huydna/projects/dbml/node_modules/tedious/lib/connection.js:1144:14
|
|
10
|
+
at process.processTicksAndRejections (node:internal/process/task_queues:85:11)
|
|
11
|
+
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
Table "dbo"."users" {
|
|
2
|
+
"user_id" int(10) [pk, not null, increment]
|
|
3
|
+
"username" varchar(50) [unique, not null]
|
|
4
|
+
"email" varchar(100) [unique, not null, check: `[email] like '%_@_%._%'`]
|
|
5
|
+
"password_hash" varchar(255) [not null]
|
|
6
|
+
"first_name" varchar(50)
|
|
7
|
+
"last_name" varchar(50)
|
|
8
|
+
"full_name" varchar(100)
|
|
9
|
+
"full_name_lower" varchar(100)
|
|
10
|
+
"date_of_birth" date [check: `[date_of_birth]<=dateadd(year,(-13),getdate())`]
|
|
11
|
+
"created_at" datetime2 [default: `getdate()`]
|
|
12
|
+
"last_login" datetime2
|
|
13
|
+
"is_active" bit [default: 1]
|
|
14
|
+
|
|
15
|
+
Indexes {
|
|
16
|
+
email [type: nonclustered, name: "idx_users_email"]
|
|
17
|
+
full_name [type: nonclustered, name: "idx_users_full_name"]
|
|
18
|
+
(is_active, full_name_lower) [type: nonclustered, name: "idx_users_is_active_full_name"]
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
Table "dbo"."products" {
|
|
23
|
+
"product_id" int(10) [pk, not null, increment]
|
|
24
|
+
"name" varchar(100) [not null]
|
|
25
|
+
"description" text
|
|
26
|
+
"price" decimal(10,2) [not null, check: `[price]>(0)`]
|
|
27
|
+
"stock_quantity" int(10) [not null, check: `[stock_quantity]>=(0)`, default: 0]
|
|
28
|
+
"category" varchar(50)
|
|
29
|
+
"created_at" datetime2 [default: `getdate()`]
|
|
30
|
+
"updated_at" datetime2 [default: `getdate()`]
|
|
31
|
+
"is_available" bit [default: 1]
|
|
32
|
+
|
|
33
|
+
Indexes {
|
|
34
|
+
category [type: nonclustered, name: "idx_products_category"]
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
Table "dbo"."orders" {
|
|
39
|
+
"order_id" int(10) [pk, not null, increment]
|
|
40
|
+
"user_id" int(10) [not null]
|
|
41
|
+
"order_date" datetime2 [default: `getdate()`]
|
|
42
|
+
"total_amount" decimal(12,2) [not null, check: `[total_amount]>(0)`]
|
|
43
|
+
"status" varchar(20) [check: `[status]='cancelled' OR [status]='delivered' OR [status]='shipped' OR [status]='processing' OR [status]='pending'`, default: 'pending']
|
|
44
|
+
"shipping_address" text [not null]
|
|
45
|
+
"billing_address" text [not null]
|
|
46
|
+
|
|
47
|
+
Indexes {
|
|
48
|
+
(user_id, order_date) [type: nonclustered, name: "idx_orders_user_date"]
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
Table "dbo"."order_items" {
|
|
53
|
+
"order_item_id" int(10) [pk, not null, increment]
|
|
54
|
+
"order_id" int(10) [unique, not null]
|
|
55
|
+
"product_id" int(10) [unique, not null]
|
|
56
|
+
"quantity" int(10) [not null, check: `[quantity]>(0)`]
|
|
57
|
+
"unit_price" decimal(10,2) [not null, check: `[unit_price]>(0)`]
|
|
58
|
+
|
|
59
|
+
Indexes {
|
|
60
|
+
(order_id, product_id) [type: nonclustered, name: "idx_order_items_order_product"]
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
Table "dbo"."StringTypes" {
|
|
65
|
+
"Id" int(10) [pk, not null, increment]
|
|
66
|
+
"CharField" char(10) [default: 'N/A']
|
|
67
|
+
"VarcharField" varchar(50) [default: '{"default_key": "default_value"}']
|
|
68
|
+
"VarcharMaxField" varchar(MAX) [default: 'N/A']
|
|
69
|
+
"TextField" text [default: 'N/A']
|
|
70
|
+
"NCharField" nchar(10) [default: `N'N/A'`]
|
|
71
|
+
"NVarCharField" nvarchar(50) [default: `N'N/A'`]
|
|
72
|
+
"NVarCharMaxField" nvarchar(MAX) [default: `N'N/A'`]
|
|
73
|
+
"NTextField" ntext [default: `N'N/A'`]
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
Table "dbo"."NumberTypes" {
|
|
77
|
+
"ID" int(10) [pk, not null, increment]
|
|
78
|
+
"TINYINTCol" tinyint(3) [default: 0]
|
|
79
|
+
"SMALLINTCol" smallint(5) [default: 0]
|
|
80
|
+
"INTCol" int(10) [default: 0]
|
|
81
|
+
"BIGINTCol" bigint(19) [default: 0]
|
|
82
|
+
"DECIMALCol" decimal(10,2) [default: 0.00]
|
|
83
|
+
"NUMERICCol" numeric(10,2) [default: 0.00]
|
|
84
|
+
"FLOATCol" float(53) [default: 0.0]
|
|
85
|
+
"REALCol" real(24) [default: 0.0]
|
|
86
|
+
"BITCol" bit [default: 0]
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
Table "dbo"."NumberTypesNoDefault" {
|
|
90
|
+
"ID" int(10) [pk, not null, increment]
|
|
91
|
+
"TINYINTCol" tinyint(3)
|
|
92
|
+
"SMALLINTCol" smallint(5)
|
|
93
|
+
"INTCol" int(10)
|
|
94
|
+
"BIGINTCol" bigint(19)
|
|
95
|
+
"DECIMALCol" decimal(10,2)
|
|
96
|
+
"NUMERICCol" numeric(10,2)
|
|
97
|
+
"FLOATCol" float(53)
|
|
98
|
+
"REALCol" real(24)
|
|
99
|
+
"BITCol" bit
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
Table "dbo"."DatetimeTypes" {
|
|
103
|
+
"ID" int(10) [pk, not null, increment]
|
|
104
|
+
"DATECol" date [default: `getdate()`]
|
|
105
|
+
"TIMECol" time [default: `CONVERT([time],getdate())`]
|
|
106
|
+
"DATETIMECol" datetime [default: `getdate()`]
|
|
107
|
+
"DATETIME2Col" datetime2 [default: `sysdatetime()`]
|
|
108
|
+
"SMALLDATETIMECol" smalldatetime [default: `getdate()`]
|
|
109
|
+
"ROWVERSIONCol" timestamp [not null]
|
|
110
|
+
"DATETIMEOFFSETCol" datetimeoffset [default: `sysdatetimeoffset()`]
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
Table "dbo"."ObjectTypes" {
|
|
114
|
+
"Id" int(10) [pk, not null, increment]
|
|
115
|
+
"XmlField" xml [default: '''<Books>
|
|
116
|
+
<Book>
|
|
117
|
+
<Title>The Great Gatsby</Title>
|
|
118
|
+
<Author>F. Scott Fitzgerald</Author>
|
|
119
|
+
<Year>1925</Year>
|
|
120
|
+
<Price>10.99</Price>
|
|
121
|
+
<Publisher>Scribner</Publisher>
|
|
122
|
+
<Location>New York</Location>
|
|
123
|
+
<Genre>Fiction</Genre>
|
|
124
|
+
<Subgenre>Classic</Subgenre>
|
|
125
|
+
</Book>
|
|
126
|
+
<Book>
|
|
127
|
+
<Title>1984</Title>
|
|
128
|
+
<Author>George Orwell</Author>
|
|
129
|
+
<Year>1949</Year>
|
|
130
|
+
<Price>8.99</Price>
|
|
131
|
+
<Publisher>Secker & Warburg</Publisher>
|
|
132
|
+
<Location>London</Location>
|
|
133
|
+
<Genre>Dystopian</Genre>
|
|
134
|
+
<Subgenre>Political Fiction</Subgenre>
|
|
135
|
+
</Book>
|
|
136
|
+
</Books>''']
|
|
137
|
+
"JsonField" nvarchar(MAX) [default: `N'{"defaultKey": "defaultValue", "status": "active", "count": 0}'`]
|
|
138
|
+
"BinaryField" binary(50) [default: `0x00`]
|
|
139
|
+
"VarBinaryField" varbinary(50) [default: `0x00`]
|
|
140
|
+
"VarBinaryMaxField" varbinary(MAX) [default: `0x00`]
|
|
141
|
+
"ImageField" image [default: `0x00`]
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
Table "dbo"."gender_reference" {
|
|
145
|
+
"value" nvarchar(10) [pk, not null]
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
Table "dbo"."user_define_data_types" {
|
|
149
|
+
"id" int(10) [pk, not null, increment]
|
|
150
|
+
"name" nvarchar(50)
|
|
151
|
+
"gender" nvarchar(10) [check: `[gender]='Other' OR [gender]='Female' OR [gender]='Male'`]
|
|
152
|
+
"age_start" int(10)
|
|
153
|
+
"age_end" int(10)
|
|
154
|
+
"height" float(53)
|
|
155
|
+
"weight" float(53)
|
|
156
|
+
|
|
157
|
+
Checks {
|
|
158
|
+
`[age_start]<=[age_end]` [name: 'chk_age_range']
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
Table "dbo"."table_with_comments" {
|
|
163
|
+
"id" int(10) [pk, not null, increment, note: 'Unique identifier for each item.']
|
|
164
|
+
"name" varchar(100) [note: 'Name of the item.']
|
|
165
|
+
"description" text [note: '''Item\'s description''']
|
|
166
|
+
"created_at" datetime2 [default: `getdate()`, note: 'Timestamp when the item was created.']
|
|
167
|
+
Note: 'This table stores information about various items.'
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
Table "dbo"."table_with_composite_primary_and_unique_indexes" {
|
|
171
|
+
"col1" int(10) [pk, not null]
|
|
172
|
+
"col2" int(10) [pk, not null]
|
|
173
|
+
"col3" int(10) [unique]
|
|
174
|
+
"col4" int(10) [unique]
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
Table "dbo"."Authors" {
|
|
178
|
+
"AuthorID" int(10) [pk, not null]
|
|
179
|
+
"NationalityID" int(10) [pk, not null]
|
|
180
|
+
"AuthorName" nvarchar(100) [unique]
|
|
181
|
+
"BirthYear" int(10) [unique]
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
Table "dbo"."Books" {
|
|
185
|
+
"BookID" int(10) [pk, not null]
|
|
186
|
+
"AuthorID" int(10) [pk, not null]
|
|
187
|
+
"NationalityID" int(10)
|
|
188
|
+
"ISBN" nvarchar(20) [unique]
|
|
189
|
+
"Title" nvarchar(200)
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
Table "dbo"."AddressInfo" {
|
|
193
|
+
"AddressID" uniqueidentifier(16) [not null]
|
|
194
|
+
"AddressFormatID" uniqueidentifier(16) [not null]
|
|
195
|
+
|
|
196
|
+
Checks {
|
|
197
|
+
`([AddressID]='176029FA-D6D3-49E1-A48C-000000000002' OR [AddressID]='176029FA-D6D3-49E1-A48C-000000000001') AND ([AddressFormatID]='176029FA-D6D3-49E1-A48C-000000000002' OR [AddressFormatID]='176029FA-D6D3-49E1-A48C-000000000001')` [name: 'CK_Address_Valid']
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
Table "dbo"."AddressInfo2" {
|
|
202
|
+
"A1" uniqueidentifier(16) [not null]
|
|
203
|
+
"A2" uniqueidentifier(16) [not null]
|
|
204
|
+
"A3" uniqueidentifier(16) [not null]
|
|
205
|
+
"A4" uniqueidentifier(16) [not null]
|
|
206
|
+
|
|
207
|
+
Checks {
|
|
208
|
+
`([A1]='333' OR [A1]='2222' OR [A1]='1111') AND ([A2]='2222' OR [A2]='1111') AND ([A3]='1111' OR [A3]='2222') AND ([A4]='3333' OR [A4]='2222')` [name: 'CK_Address_Valid2']
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
Table "dbo"."TestDescriptionTable" {
|
|
213
|
+
"Id" int(10) [note: 'Primary key identifier.']
|
|
214
|
+
"Name" nvarchar(100) [check: `len([Name])>(6)`, note: 'Name of the entity.']
|
|
215
|
+
Note: 'This is the custom comment name on table.'
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
Ref "FK_AuthorNationality":"dbo"."Authors".("AuthorID", "NationalityID") < "dbo"."Books".("AuthorID", "NationalityID")
|
|
219
|
+
|
|
220
|
+
Ref "fk_product":"dbo"."products"."product_id" < "dbo"."order_items"."product_id" [update: cascade]
|
|
221
|
+
|
|
222
|
+
Ref "fk_order":"dbo"."orders"."order_id" < "dbo"."order_items"."order_id" [update: cascade, delete: cascade]
|
|
223
|
+
|
|
224
|
+
Ref "fk_user":"dbo"."users"."user_id" < "dbo"."orders"."user_id" [update: cascade, delete: cascade]
|
|
225
|
+
|
|
226
|
+
Ref "fk_gender":"dbo"."gender_reference"."value" < "dbo"."user_define_data_types"."gender"
|
|
@@ -230,6 +230,17 @@ CREATE TABLE table_with_comments (
|
|
|
230
230
|
);
|
|
231
231
|
GO
|
|
232
232
|
|
|
233
|
+
-- Composite primary and unique indexes
|
|
234
|
+
CREATE TABLE table_with_composite_primary_and_unique_indexes (
|
|
235
|
+
col1 INT,
|
|
236
|
+
col2 INT,
|
|
237
|
+
col3 INT,
|
|
238
|
+
col4 INT,
|
|
239
|
+
PRIMARY KEY (col1, col2),
|
|
240
|
+
UNIQUE (col3, col4)
|
|
241
|
+
);
|
|
242
|
+
GO
|
|
243
|
+
|
|
233
244
|
-- Add comments
|
|
234
245
|
EXEC sys.sp_addextendedproperty
|
|
235
246
|
@name=N'MS_Description',
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
Enum "status_example_2_s1_enum" {
|
|
2
|
+
"active"
|
|
3
|
+
"inactive"
|
|
4
|
+
"pending"
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
Enum "status_example_2_s2_enum" {
|
|
8
|
+
"active"
|
|
9
|
+
"inactive"
|
|
10
|
+
"pending"
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
Enum "status_example_2_s3_enum" {
|
|
14
|
+
"active"
|
|
15
|
+
"inactive"
|
|
16
|
+
"pending"
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
Enum "status_example_2_s4_enum" {
|
|
20
|
+
"active"
|
|
21
|
+
"inactive"
|
|
22
|
+
"pending"
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
Enum "status_example_2_s5_enum" {
|
|
26
|
+
"0"
|
|
27
|
+
"1"
|
|
28
|
+
"2"
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
Enum "status_example_2_s6_enum" {
|
|
32
|
+
"0"
|
|
33
|
+
"1"
|
|
34
|
+
"2"
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
Enum "status_example_2_s7_enum" {
|
|
38
|
+
"0"
|
|
39
|
+
"1"
|
|
40
|
+
"2"
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
Enum "status_example_2_s8_enum" {
|
|
44
|
+
"0"
|
|
45
|
+
"1"
|
|
46
|
+
"2"
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
Table "categories" {
|
|
50
|
+
"cat_id" "int unsigned" [pk, not null, increment]
|
|
51
|
+
"cat_name" varchar(50) [not null]
|
|
52
|
+
"super_cat_id" "int unsigned"
|
|
53
|
+
"created_at" timestamp [default: `CURRENT_TIMESTAMP`]
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
Table "composite_key_1" {
|
|
57
|
+
"id1_1" "int unsigned" [not null]
|
|
58
|
+
"id1_2" "int unsigned" [not null]
|
|
59
|
+
"email" varchar(255)
|
|
60
|
+
"name" varchar(50)
|
|
61
|
+
|
|
62
|
+
Indexes {
|
|
63
|
+
(id1_1, id1_2) [pk, name: "PRIMARY"]
|
|
64
|
+
(email, name) [unique, name: "uc_unique_composite"]
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
Table "composite_key_2" {
|
|
69
|
+
"id2_1" "int unsigned" [not null]
|
|
70
|
+
"id2_2" "int unsigned" [not null]
|
|
71
|
+
|
|
72
|
+
Indexes {
|
|
73
|
+
(id2_1, id2_2) [pk, name: "PRIMARY"]
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
Table "date_time_example" {
|
|
78
|
+
"default_now" timestamp [default: `CURRENT_TIMESTAMP`]
|
|
79
|
+
"default_local" timestamp [default: `CURRENT_TIMESTAMP`]
|
|
80
|
+
"date_plus_7_days" date [default: `(curdate() + interval 7 day)`]
|
|
81
|
+
"date_minus_30_days" date [default: `(curdate() - interval 30 day)`]
|
|
82
|
+
"timestamp_plus_1_hour" timestamp [default: `(now() + interval 1 hour)`]
|
|
83
|
+
"timestamp_minus_15_minutes" timestamp [default: `(now() - interval 15 minute)`]
|
|
84
|
+
"on_update_1" "datetime on update CURRENT_TIMESTAMP" [default: `CURRENT_TIMESTAMP`]
|
|
85
|
+
"on_update_2" "datetime on update CURRENT_TIMESTAMP" [default: `CURRENT_TIMESTAMP`]
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
Table "default_example" {
|
|
89
|
+
"id" int [pk, not null, increment]
|
|
90
|
+
"column1" varchar(255) [default: `concat(_utf8mb4\'default \',uuid())`]
|
|
91
|
+
"column2" varchar(255) [default: `concat(_utf8mb4\'random \',floor((rand() * 100)))`]
|
|
92
|
+
"column3" varchar(255) [default: '_utf8mb4']
|
|
93
|
+
"column4" double [default: 0.5]
|
|
94
|
+
"created_date" date [default: `curdate()`]
|
|
95
|
+
"first_date" date [default: '2023-01-01']
|
|
96
|
+
"event_time" timestamp [default: '2024-01-01 00:00:00']
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
Table "hash_index_example" {
|
|
100
|
+
"id" int [pk, not null, note: 'unique identifier for each record']
|
|
101
|
+
"name" varchar(100) [note: '''first name\'s of the individual''']
|
|
102
|
+
"name1" varchar(100) [note: '''last name\'s of the individual''']
|
|
103
|
+
|
|
104
|
+
Indexes {
|
|
105
|
+
(name, name1) [type: hash, name: "idx_name_name1"]
|
|
106
|
+
}
|
|
107
|
+
Note: 'table for storing names with a hash index'
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
Table "index_example" {
|
|
111
|
+
"id" int [pk, not null, increment]
|
|
112
|
+
"name_lower" varchar(100) [not null]
|
|
113
|
+
"name_inline" varchar(100) [not null]
|
|
114
|
+
"email" varchar(100) [unique, not null]
|
|
115
|
+
"age" int
|
|
116
|
+
"city" varchar(50)
|
|
117
|
+
|
|
118
|
+
Indexes {
|
|
119
|
+
(city, age) [type: btree, name: "idx_city_age"]
|
|
120
|
+
`city(5)` [type: btree, name: "idx_city_part"]
|
|
121
|
+
name_inline [type: btree, name: "idx_name"]
|
|
122
|
+
`lower(name_lower)` [type: btree, name: "idx_name_lower"]
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
Table "order_items" {
|
|
127
|
+
"order_id" "int unsigned" [not null]
|
|
128
|
+
"product_id" "int unsigned" [not null]
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
Table "orders" {
|
|
132
|
+
"order_id" "int unsigned" [pk, not null, increment]
|
|
133
|
+
"user_id" "int unsigned"
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
Table "products" {
|
|
137
|
+
"id" "int unsigned" [pk, not null, increment]
|
|
138
|
+
"price" decimal(10,2) [not null]
|
|
139
|
+
"quantity" int [not null, check: ``quantity` < 10000`]
|
|
140
|
+
"total_value" "decimal(10,2) GENERATED ALWAYS AS ((`price` * `quantity`)) STORED" [check: ``total_value` > 0`]
|
|
141
|
+
"updated_at" "timestamp on update CURRENT_TIMESTAMP" [default: `CURRENT_TIMESTAMP`]
|
|
142
|
+
|
|
143
|
+
Checks {
|
|
144
|
+
`(`price` > 0) and (`price` < 1000000)` [name: 'products_chk_1']
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
Table "sqrt_triangle" {
|
|
149
|
+
"side_a" double
|
|
150
|
+
"side_b" double
|
|
151
|
+
"side_c" "double GENERATED ALWAYS AS (sqrt(((`side_a` * `side_a`) + (`side_b` * `side_b`)))) VIRTUAL"
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
Table "status_example_2" {
|
|
155
|
+
"s1" status_example_2_s1_enum [not null]
|
|
156
|
+
"s2" status_example_2_s2_enum
|
|
157
|
+
"s3" status_example_2_s3_enum [default: 'active']
|
|
158
|
+
"s4" status_example_2_s4_enum [default: 'pending']
|
|
159
|
+
"s5" status_example_2_s5_enum
|
|
160
|
+
"s6" status_example_2_s6_enum [not null]
|
|
161
|
+
"s7" status_example_2_s7_enum [default: '1']
|
|
162
|
+
"s8" status_example_2_s8_enum [default: '0']
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
Table "table_with_composite_primary_and_unique_indexes" {
|
|
166
|
+
"col1" int [not null]
|
|
167
|
+
"col2" int [not null]
|
|
168
|
+
"col3" int
|
|
169
|
+
"col4" int
|
|
170
|
+
|
|
171
|
+
Indexes {
|
|
172
|
+
(col3, col4) [unique, name: "col3"]
|
|
173
|
+
(col1, col2) [pk, name: "PRIMARY"]
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
Table "users" {
|
|
178
|
+
"user_id" "int unsigned" [pk, not null, increment]
|
|
179
|
+
"username" varchar(50) [unique, not null]
|
|
180
|
+
"email" varchar(100) [unique, not null]
|
|
181
|
+
"password_hash" varchar(255) [not null]
|
|
182
|
+
"first_name" varchar(50)
|
|
183
|
+
"last_name" varchar(50)
|
|
184
|
+
"date_of_birth" date
|
|
185
|
+
"created_at" timestamp [default: `CURRENT_TIMESTAMP`]
|
|
186
|
+
"last_login" timestamp [default: `CURRENT_TIMESTAMP`]
|
|
187
|
+
"is_active" tinyint(1) [default: 1]
|
|
188
|
+
|
|
189
|
+
Checks {
|
|
190
|
+
``created_at` <= `last_login`` [name: 'chk_last_login']
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
Ref "fk_test_composite":"composite_key_2".("id2_1", "id2_2") < "composite_key_1".("id1_1", "id1_2")
|
|
195
|
+
|
|
196
|
+
Ref "fk_detail_items_orders":"orders"."order_id" < "order_items"."order_id" [delete: cascade]
|
|
197
|
+
|
|
198
|
+
Ref "fk_detail_items_products":"products"."id" < "order_items"."product_id"
|
|
199
|
+
|
|
200
|
+
Ref "fk_order_user":"users"."user_id" < "orders"."user_id" [delete: set null]
|
|
@@ -145,3 +145,12 @@ create table date_time_example (
|
|
|
145
145
|
on_update_1 datetime default now() on update now(),
|
|
146
146
|
on_update_2 datetime default now() on update localtime()
|
|
147
147
|
);
|
|
148
|
+
|
|
149
|
+
create table table_with_composite_primary_and_unique_indexes (
|
|
150
|
+
col1 int,
|
|
151
|
+
col2 int,
|
|
152
|
+
col3 int,
|
|
153
|
+
col4 int,
|
|
154
|
+
primary key (col1, col2),
|
|
155
|
+
unique (col3, col4)
|
|
156
|
+
);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
2025-11-17T14:38:16.383Z
|
|
2
|
+
Error: PostgreSQL connection error: AggregateError
|
|
3
|
+
at getValidatedClient (/home/huydna/projects/dbml/packages/dbml-connector/dist/connectors/postgresConnector.js:21:19)
|
|
4
|
+
at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
|
|
5
|
+
at async fetchSchemaJson (/home/huydna/projects/dbml/packages/dbml-connector/dist/connectors/postgresConnector.js:482:20)
|
|
6
|
+
at async connectionHandler (/home/huydna/projects/dbml/packages/dbml-cli/lib/cli/connector.js:24:24)
|
|
7
|
+
|