@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
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
-- SQL dump generated using DBML (dbml.dbdiagram.io)
|
|
2
|
+
-- Database: Oracle
|
|
3
|
+
-- Generated at: 2025-11-17T14:37:44.428Z
|
|
4
|
+
|
|
5
|
+
CREATE USER "C##test01"
|
|
6
|
+
NO AUTHENTICATION
|
|
7
|
+
DEFAULT TABLESPACE system
|
|
8
|
+
TEMPORARY TABLESPACE temp
|
|
9
|
+
QUOTA UNLIMITED ON system;
|
|
10
|
+
|
|
11
|
+
CREATE USER "C##test02"
|
|
12
|
+
NO AUTHENTICATION
|
|
13
|
+
DEFAULT TABLESPACE system
|
|
14
|
+
TEMPORARY TABLESPACE temp
|
|
15
|
+
QUOTA UNLIMITED ON system;
|
|
16
|
+
|
|
17
|
+
CREATE TABLE "users" (
|
|
18
|
+
"id" int PRIMARY KEY
|
|
19
|
+
);
|
|
20
|
+
|
|
21
|
+
CREATE TABLE "products" (
|
|
22
|
+
"id" int PRIMARY KEY,
|
|
23
|
+
"user_id" int NOT NULL
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
CREATE TABLE "C##test02"."users_products" (
|
|
27
|
+
"users_id" int,
|
|
28
|
+
"products_id" int,
|
|
29
|
+
PRIMARY KEY ("users_id", "products_id")
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
CREATE TABLE "users_products" (
|
|
33
|
+
"users_id" int,
|
|
34
|
+
"products_id" int,
|
|
35
|
+
PRIMARY KEY ("users_id", "products_id")
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
CREATE TABLE "C##test01"."users_products" (
|
|
39
|
+
"users_id" int,
|
|
40
|
+
"products_id" int,
|
|
41
|
+
PRIMARY KEY ("users_id", "products_id")
|
|
42
|
+
);
|
|
43
|
+
|
|
44
|
+
CREATE TABLE "C##test01"."users" (
|
|
45
|
+
"id" int PRIMARY KEY
|
|
46
|
+
);
|
|
47
|
+
|
|
48
|
+
CREATE TABLE "C##test01"."products" (
|
|
49
|
+
"id" int PRIMARY KEY,
|
|
50
|
+
"user_id" int NOT NULL
|
|
51
|
+
);
|
|
52
|
+
|
|
53
|
+
CREATE TABLE "C##test02"."users" (
|
|
54
|
+
"id" int PRIMARY KEY
|
|
55
|
+
);
|
|
56
|
+
|
|
57
|
+
CREATE TABLE "C##test02"."products" (
|
|
58
|
+
"id" int PRIMARY KEY,
|
|
59
|
+
"user_id" int NOT NULL
|
|
60
|
+
);
|
|
61
|
+
|
|
62
|
+
GRANT REFERENCES ON "C##test01"."users" TO PUBLIC;
|
|
63
|
+
|
|
64
|
+
GRANT REFERENCES ON "users" TO PUBLIC;
|
|
65
|
+
|
|
66
|
+
GRANT REFERENCES ON "C##test02"."users" TO PUBLIC;
|
|
67
|
+
|
|
68
|
+
GRANT REFERENCES ON "products" TO PUBLIC;
|
|
69
|
+
|
|
70
|
+
GRANT REFERENCES ON "C##test02"."products" TO PUBLIC;
|
|
71
|
+
|
|
72
|
+
ALTER TABLE "products" ADD FOREIGN KEY ("user_id") REFERENCES "C##test01"."users" ("id");
|
|
73
|
+
|
|
74
|
+
ALTER TABLE "C##test01"."products" ADD FOREIGN KEY ("user_id") REFERENCES "users" ("id");
|
|
75
|
+
|
|
76
|
+
ALTER TABLE "C##test01"."products" ADD FOREIGN KEY ("user_id") REFERENCES "C##test01"."users" ("id");
|
|
77
|
+
|
|
78
|
+
ALTER TABLE "C##test02"."users_products" ADD FOREIGN KEY ("users_id") REFERENCES "C##test02"."users" ("id");
|
|
79
|
+
|
|
80
|
+
ALTER TABLE "C##test02"."users_products" ADD FOREIGN KEY ("products_id") REFERENCES "products" ("id");
|
|
81
|
+
|
|
82
|
+
ALTER TABLE "users_products" ADD FOREIGN KEY ("users_id") REFERENCES "users" ("id");
|
|
83
|
+
|
|
84
|
+
ALTER TABLE "users_products" ADD FOREIGN KEY ("products_id") REFERENCES "C##test02"."products" ("id");
|
|
85
|
+
|
|
86
|
+
ALTER TABLE "C##test01"."users_products" ADD FOREIGN KEY ("users_id") REFERENCES "C##test01"."users" ("id");
|
|
87
|
+
|
|
88
|
+
ALTER TABLE "C##test01"."users_products" ADD FOREIGN KEY ("products_id") REFERENCES "C##test02"."products" ("id");
|
|
File without changes
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
-- SQL dump generated using DBML (dbml.dbdiagram.io)
|
|
2
|
+
-- Database: PostgreSQL
|
|
3
|
+
-- Generated at: 2025-11-17T14:37:45.207Z
|
|
4
|
+
|
|
5
|
+
CREATE SCHEMA "schemaB";
|
|
6
|
+
|
|
7
|
+
CREATE SCHEMA "ecommerce";
|
|
8
|
+
|
|
9
|
+
CREATE SCHEMA "schemaA";
|
|
10
|
+
|
|
11
|
+
CREATE TYPE "job_status" AS ENUM (
|
|
12
|
+
'created2',
|
|
13
|
+
'running2',
|
|
14
|
+
'done2',
|
|
15
|
+
'failure2'
|
|
16
|
+
);
|
|
17
|
+
|
|
18
|
+
CREATE TYPE "gender" AS ENUM (
|
|
19
|
+
'male2',
|
|
20
|
+
'female2'
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
CREATE TYPE "schemaB"."gender" AS ENUM (
|
|
24
|
+
'male',
|
|
25
|
+
'female'
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
CREATE TABLE "users" (
|
|
29
|
+
"id" int PRIMARY KEY,
|
|
30
|
+
"name" varchar,
|
|
31
|
+
"pjs" job_status,
|
|
32
|
+
"pjs2" job_status,
|
|
33
|
+
"pg" "schemaB".gender,
|
|
34
|
+
"pg2" gender
|
|
35
|
+
);
|
|
36
|
+
|
|
37
|
+
CREATE TABLE "products" (
|
|
38
|
+
"id" int PRIMARY KEY,
|
|
39
|
+
"name" varchar
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
CREATE TABLE "ecommerce"."users" (
|
|
43
|
+
"id" int PRIMARY KEY,
|
|
44
|
+
"name" varchar,
|
|
45
|
+
"ejs" job_status,
|
|
46
|
+
"ejs2" job_status,
|
|
47
|
+
"eg" "schemaB".gender,
|
|
48
|
+
"eg2" gender
|
|
49
|
+
);
|
|
50
|
+
|
|
51
|
+
CREATE TABLE "schemaA"."products" (
|
|
52
|
+
"id" int PRIMARY KEY,
|
|
53
|
+
"name" varchar
|
|
54
|
+
);
|
|
55
|
+
|
|
56
|
+
CREATE TABLE "schemaA"."locations" (
|
|
57
|
+
"id" int PRIMARY KEY,
|
|
58
|
+
"name" varchar
|
|
59
|
+
);
|
|
60
|
+
|
|
61
|
+
ALTER TABLE "schemaA"."products" ADD FOREIGN KEY ("name") REFERENCES "ecommerce"."users" ("id");
|
|
62
|
+
|
|
63
|
+
ALTER TABLE "schemaA"."locations" ADD FOREIGN KEY ("name") REFERENCES "users" ("id");
|
|
64
|
+
|
|
65
|
+
ALTER TABLE "ecommerce"."users" ADD FOREIGN KEY ("id") REFERENCES "users" ("id");
|
|
66
|
+
|
|
67
|
+
ALTER TABLE "ecommerce"."users" ADD CONSTRAINT "name_optional" FOREIGN KEY ("id") REFERENCES "users" ("name");
|
package/__tests__/sql2dbml/custom-error-create-index-table-not-found --oracle/in-files/schema.sql
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
CREATE UNIQUE INDEX idx ON Users(id);
|
|
File without changes
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
Table "UserMaster" {
|
|
2
|
+
"UserMasterKey" "BIGINT IDENTITY(1,1)" [not null]
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
Table "CodeDef" {
|
|
6
|
+
"CdKey" "BIGINT IDENTITY(1,1)" [not null]
|
|
7
|
+
"Category" NVARCHAR(50) [not null]
|
|
8
|
+
"Description" NVARCHAR(100)
|
|
9
|
+
"Code" NVARCHAR(50) [not null]
|
|
10
|
+
"ParentCdKey" BIGINT
|
|
11
|
+
"UserMasterKeyAddedBy" BIGINT [not null]
|
|
12
|
+
"UserMasterKeyLastEditedBy" BIGINT
|
|
13
|
+
"AddedDtTm" DATETIMEOFFSET(7) [not null]
|
|
14
|
+
"LastEditedDtTm" DATETIMEOFFSET(7)
|
|
15
|
+
"EffectiveFromDtTm" DATETIMEOFFSET(7) [not null]
|
|
16
|
+
"EffectiveThruDtTm" DATETIMEOFFSET(7)
|
|
17
|
+
|
|
18
|
+
Indexes {
|
|
19
|
+
CdKey [pk, name: "PK__CodeDef__4922449ECDD244C3"]
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
Ref "fk__CodeDef__ParentCdKey__CodeDef__CdKey":"CodeDef"."CdKey" < "CodeDef"."ParentCdKey"
|
|
24
|
+
|
|
25
|
+
Ref "fk__CodeDef__UserMasterKeyLastEditedBy__UserMaster_UserMasterKey":"UserMaster"."UserMasterKey" < "CodeDef"."UserMasterKeyLastEditedBy"
|
|
File without changes
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
Enum "orders_status_enum" {
|
|
2
|
+
"created"
|
|
3
|
+
"running"
|
|
4
|
+
"done"
|
|
5
|
+
"failure"
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
Enum "products_status_enum" {
|
|
9
|
+
"Out of Stock"
|
|
10
|
+
"In Stock"
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
Table "orders" {
|
|
14
|
+
"id" int [pk, increment]
|
|
15
|
+
"user_id" int [unique, not null]
|
|
16
|
+
"status" orders_status_enum
|
|
17
|
+
"created_at" varchar(255)
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
Table "order_items" {
|
|
21
|
+
"order_id" int
|
|
22
|
+
"product_id" int
|
|
23
|
+
"quantity" int [default: 1]
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
Table "products" {
|
|
27
|
+
"id" int [pk]
|
|
28
|
+
"name" varchar(255)
|
|
29
|
+
"merchant_id" int [not null]
|
|
30
|
+
"price" int
|
|
31
|
+
"status" products_status_enum
|
|
32
|
+
"created_at" datetime [default: `now()`]
|
|
33
|
+
|
|
34
|
+
Indexes {
|
|
35
|
+
(merchant_id, status) [name: "product_status"]
|
|
36
|
+
id [type: hash, unique, name: "products_index_1"]
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
Table "users" {
|
|
41
|
+
"id" int [pk]
|
|
42
|
+
"full_name" varchar(255)
|
|
43
|
+
"email" varchar(255) [unique]
|
|
44
|
+
"gender" varchar(255)
|
|
45
|
+
"date_of_birth" varchar(255)
|
|
46
|
+
"created_at" varchar(255)
|
|
47
|
+
"country_code" int
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
Table "merchants" {
|
|
51
|
+
"id" int [pk]
|
|
52
|
+
"merchant_name" varchar(255)
|
|
53
|
+
"country_code" int
|
|
54
|
+
"created_at" varchar(255)
|
|
55
|
+
"admin_id" int
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
Table "countries" {
|
|
59
|
+
"code" int [pk]
|
|
60
|
+
"name" varchar(255)
|
|
61
|
+
"continent_name" varchar(255)
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
Ref:"orders"."id" < "order_items"."order_id"
|
|
65
|
+
|
|
66
|
+
Ref:"products"."id" < "order_items"."product_id"
|
|
67
|
+
|
|
68
|
+
Ref:"countries"."code" < "users"."country_code"
|
|
69
|
+
|
|
70
|
+
Ref:"countries"."code" < "merchants"."country_code"
|
|
71
|
+
|
|
72
|
+
Ref:"merchants"."id" < "products"."merchant_id"
|
|
73
|
+
|
|
74
|
+
Ref:"users"."id" < "merchants"."admin_id"
|
|
File without changes
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
Table "departments" {
|
|
2
|
+
"dept_id" NUMBER(10) [pk]
|
|
3
|
+
"dept_name" VARCHAR2(100)
|
|
4
|
+
"location_id" NUMBER(10)
|
|
5
|
+
"manager_id" NUMBER(10)
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
Table "locations" {
|
|
9
|
+
"location_id" NUMBER(10) [pk]
|
|
10
|
+
"city" VARCHAR2(100)
|
|
11
|
+
"country_code" CHAR(2)
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
Table "countries" {
|
|
15
|
+
"country_code" CHAR(2) [pk]
|
|
16
|
+
"country_name" VARCHAR2(100)
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
Table "employees" {
|
|
20
|
+
"emp_id" NUMBER(10) [pk]
|
|
21
|
+
"emp_name" VARCHAR2(100)
|
|
22
|
+
"department_id" NUMBER(10)
|
|
23
|
+
"manager_id" NUMBER(10)
|
|
24
|
+
"hire_date" DATE
|
|
25
|
+
"location_id" NUMBER(10)
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
Table "projects" {
|
|
29
|
+
"project_id" NUMBER(10) [pk]
|
|
30
|
+
"project_name" VARCHAR2(200)
|
|
31
|
+
"dept_id" NUMBER(10)
|
|
32
|
+
"lead_emp_id" NUMBER(10)
|
|
33
|
+
"backup_emp_id" NUMBER(10)
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
Table "assignments" {
|
|
37
|
+
"assignment_id" NUMBER(10) [pk]
|
|
38
|
+
"emp_id" NUMBER(10)
|
|
39
|
+
"project_id" NUMBER(10)
|
|
40
|
+
"start_date" DATE
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
Table "project_tasks" {
|
|
44
|
+
"project_id" NUMBER(10)
|
|
45
|
+
"task_id" NUMBER(10)
|
|
46
|
+
"task_name" VARCHAR2(200)
|
|
47
|
+
"assigned_emp_id" NUMBER(10)
|
|
48
|
+
|
|
49
|
+
Indexes {
|
|
50
|
+
(project_id, task_id) [pk]
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
Table "task_hours" {
|
|
55
|
+
"hour_id" NUMBER(10) [pk]
|
|
56
|
+
"project_id" NUMBER(10)
|
|
57
|
+
"task_id" NUMBER(10)
|
|
58
|
+
"hours_worked" NUMBER(5,2)
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
Ref "fk_emp_dept":"departments"."dept_id" < "employees"."department_id"
|
|
62
|
+
|
|
63
|
+
Ref "fk_dept_location":"locations"."location_id" < "departments"."location_id"
|
|
64
|
+
|
|
65
|
+
Ref "fk_loc_country":"countries"."country_code" < "locations"."country_code"
|
|
66
|
+
|
|
67
|
+
Ref "fk_emp_manager":"employees"."emp_id" < "employees"."manager_id"
|
|
68
|
+
|
|
69
|
+
Ref "fk_dept_manager":"employees"."emp_id" < "departments"."manager_id"
|
|
70
|
+
|
|
71
|
+
Ref:"departments"."dept_id" < "projects"."dept_id"
|
|
72
|
+
|
|
73
|
+
Ref:"employees"."emp_id" < "assignments"."emp_id"
|
|
74
|
+
|
|
75
|
+
Ref:"projects"."project_id" < "assignments"."project_id"
|
|
76
|
+
|
|
77
|
+
Ref "fk_task_hours_project_task":"project_tasks".("project_id", "task_id") < "task_hours".("project_id", "task_id")
|
|
78
|
+
|
|
79
|
+
Ref "fk_proj_lead_emp":"employees"."emp_id" < "projects"."lead_emp_id"
|
|
80
|
+
|
|
81
|
+
Ref "fk_proj_backup_emp":"employees"."emp_id" < "projects"."backup_emp_id"
|
|
82
|
+
|
|
83
|
+
Ref "fk_task_assigned_emp":"employees"."emp_id" < "project_tasks"."assigned_emp_id"
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
-- Oracle SQL ALTER TABLE ADD FOREIGN KEY Constraint Test Cases
|
|
2
|
+
-- Test setup: Create base tables with primary keys
|
|
3
|
+
CREATE TABLE departments (
|
|
4
|
+
dept_id NUMBER(10) PRIMARY KEY,
|
|
5
|
+
dept_name VARCHAR2(100),
|
|
6
|
+
location_id NUMBER(10),
|
|
7
|
+
manager_id NUMBER(10)
|
|
8
|
+
);
|
|
9
|
+
|
|
10
|
+
CREATE TABLE locations (
|
|
11
|
+
location_id NUMBER(10) PRIMARY KEY,
|
|
12
|
+
city VARCHAR2(100),
|
|
13
|
+
country_code CHAR(2)
|
|
14
|
+
);
|
|
15
|
+
|
|
16
|
+
CREATE TABLE countries (
|
|
17
|
+
country_code CHAR(2) PRIMARY KEY,
|
|
18
|
+
country_name VARCHAR2(100)
|
|
19
|
+
);
|
|
20
|
+
|
|
21
|
+
CREATE TABLE employees (
|
|
22
|
+
emp_id NUMBER(10) PRIMARY KEY,
|
|
23
|
+
emp_name VARCHAR2(100),
|
|
24
|
+
department_id NUMBER(10),
|
|
25
|
+
manager_id NUMBER(10),
|
|
26
|
+
hire_date DATE,
|
|
27
|
+
location_id NUMBER(10)
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
CREATE TABLE projects (
|
|
31
|
+
project_id NUMBER(10) PRIMARY KEY,
|
|
32
|
+
project_name VARCHAR2(200),
|
|
33
|
+
dept_id NUMBER(10),
|
|
34
|
+
lead_emp_id NUMBER(10),
|
|
35
|
+
backup_emp_id NUMBER(10)
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
CREATE TABLE assignments (
|
|
39
|
+
assignment_id NUMBER(10) PRIMARY KEY,
|
|
40
|
+
emp_id NUMBER(10),
|
|
41
|
+
project_id NUMBER(10),
|
|
42
|
+
start_date DATE
|
|
43
|
+
);
|
|
44
|
+
|
|
45
|
+
-- Table with composite primary key
|
|
46
|
+
CREATE TABLE project_tasks (
|
|
47
|
+
project_id NUMBER(10),
|
|
48
|
+
task_id NUMBER(10),
|
|
49
|
+
task_name VARCHAR2(200),
|
|
50
|
+
assigned_emp_id NUMBER(10),
|
|
51
|
+
PRIMARY KEY (project_id, task_id)
|
|
52
|
+
);
|
|
53
|
+
|
|
54
|
+
CREATE TABLE task_hours (
|
|
55
|
+
hour_id NUMBER(10) PRIMARY KEY,
|
|
56
|
+
project_id NUMBER(10),
|
|
57
|
+
task_id NUMBER(10),
|
|
58
|
+
hours_worked NUMBER(5,2)
|
|
59
|
+
);
|
|
60
|
+
|
|
61
|
+
-- ============================================
|
|
62
|
+
-- NAMED FOREIGN KEY CONSTRAINTS - BASIC
|
|
63
|
+
-- ============================================
|
|
64
|
+
|
|
65
|
+
-- Simple single-column FK with constraint name
|
|
66
|
+
ALTER TABLE employees
|
|
67
|
+
ADD CONSTRAINT fk_emp_dept
|
|
68
|
+
FOREIGN KEY (department_id)
|
|
69
|
+
REFERENCES departments(dept_id);
|
|
70
|
+
|
|
71
|
+
-- Single-column FK referencing different table
|
|
72
|
+
ALTER TABLE departments
|
|
73
|
+
ADD CONSTRAINT fk_dept_location
|
|
74
|
+
FOREIGN KEY (location_id)
|
|
75
|
+
REFERENCES locations(location_id);
|
|
76
|
+
|
|
77
|
+
-- FK with explicit column name in referenced table
|
|
78
|
+
ALTER TABLE locations
|
|
79
|
+
ADD CONSTRAINT fk_loc_country
|
|
80
|
+
FOREIGN KEY (country_code)
|
|
81
|
+
REFERENCES countries(country_code);
|
|
82
|
+
|
|
83
|
+
-- Self-referencing FK (hierarchical)
|
|
84
|
+
ALTER TABLE employees
|
|
85
|
+
ADD CONSTRAINT fk_emp_manager
|
|
86
|
+
FOREIGN KEY (manager_id)
|
|
87
|
+
REFERENCES employees(emp_id);
|
|
88
|
+
|
|
89
|
+
-- Another self-referencing FK on different table
|
|
90
|
+
ALTER TABLE departments
|
|
91
|
+
ADD CONSTRAINT fk_dept_manager
|
|
92
|
+
FOREIGN KEY (manager_id)
|
|
93
|
+
REFERENCES employees(emp_id);
|
|
94
|
+
|
|
95
|
+
-- ============================================
|
|
96
|
+
-- UNNAMED FOREIGN KEY CONSTRAINTS
|
|
97
|
+
-- ============================================
|
|
98
|
+
|
|
99
|
+
-- FK without explicit constraint name (Oracle auto-generates)
|
|
100
|
+
ALTER TABLE projects
|
|
101
|
+
ADD FOREIGN KEY (dept_id)
|
|
102
|
+
REFERENCES departments(dept_id);
|
|
103
|
+
|
|
104
|
+
-- Another unnamed FK
|
|
105
|
+
ALTER TABLE assignments
|
|
106
|
+
ADD FOREIGN KEY (emp_id)
|
|
107
|
+
REFERENCES employees(emp_id);
|
|
108
|
+
|
|
109
|
+
-- Unnamed FK with different columns
|
|
110
|
+
ALTER TABLE assignments
|
|
111
|
+
ADD FOREIGN KEY (project_id)
|
|
112
|
+
REFERENCES projects(project_id);
|
|
113
|
+
|
|
114
|
+
-- ============================================
|
|
115
|
+
-- COMPOSITE FOREIGN KEYS (Multiple Columns)
|
|
116
|
+
-- ============================================
|
|
117
|
+
|
|
118
|
+
-- Two-column composite FK
|
|
119
|
+
ALTER TABLE task_hours
|
|
120
|
+
ADD CONSTRAINT fk_task_hours_project_task
|
|
121
|
+
FOREIGN KEY (project_id, task_id)
|
|
122
|
+
REFERENCES project_tasks(project_id, task_id);
|
|
123
|
+
|
|
124
|
+
-- ============================================
|
|
125
|
+
-- FOREIGN KEYS WITH ON DELETE ACTIONS
|
|
126
|
+
-- ============================================
|
|
127
|
+
|
|
128
|
+
-- ON DELETE CASCADE - delete child records when parent is deleted
|
|
129
|
+
ALTER TABLE projects
|
|
130
|
+
ADD CONSTRAINT fk_proj_lead_emp
|
|
131
|
+
FOREIGN KEY (lead_emp_id)
|
|
132
|
+
REFERENCES employees(emp_id)
|
|
133
|
+
ON DELETE CASCADE;
|
|
134
|
+
|
|
135
|
+
-- ON DELETE SET NULL - set FK to NULL when parent is deleted
|
|
136
|
+
ALTER TABLE projects
|
|
137
|
+
ADD CONSTRAINT fk_proj_backup_emp
|
|
138
|
+
FOREIGN KEY (backup_emp_id)
|
|
139
|
+
REFERENCES employees(emp_id)
|
|
140
|
+
ON DELETE SET NULL;
|
|
141
|
+
|
|
142
|
+
-- ON DELETE CASCADE with named constraint
|
|
143
|
+
ALTER TABLE project_tasks
|
|
144
|
+
ADD CONSTRAINT fk_task_assigned_emp
|
|
145
|
+
FOREIGN KEY (assigned_emp_id)
|
|
146
|
+
REFERENCES employees(emp_id)
|
|
147
|
+
ON DELETE CASCADE;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
✔ Generated DBML file from SQL file (Oracle): schema.dbml
|
|
File without changes
|
|
File without changes
|