{"id":26753448,"url":"https://github.com/fizzcodesoftware/dbtools","last_synced_at":"2025-03-28T13:20:03.929Z","repository":{"id":91552827,"uuid":"200011357","full_name":"FizzcodeSoftware/DbTools","owner":"FizzcodeSoftware","description":"Fizzcode DbTools open source project","archived":false,"fork":false,"pushed_at":"2024-02-27T13:16:43.000Z","size":1744,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-02-27T14:34:06.039Z","etag":null,"topics":["database-generator","database-schema","database-schema-migration","database-tools"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FizzcodeSoftware.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}},"created_at":"2019-08-01T08:36:38.000Z","updated_at":"2024-02-27T14:34:08.336Z","dependencies_parsed_at":"2024-02-04T16:49:59.607Z","dependency_job_id":null,"html_url":"https://github.com/FizzcodeSoftware/DbTools","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FizzcodeSoftware%2FDbTools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FizzcodeSoftware%2FDbTools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FizzcodeSoftware%2FDbTools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FizzcodeSoftware%2FDbTools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FizzcodeSoftware","download_url":"https://codeload.github.com/FizzcodeSoftware/DbTools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246034278,"owners_count":20712857,"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":["database-generator","database-schema","database-schema-migration","database-tools"],"created_at":"2025-03-28T13:20:03.357Z","updated_at":"2025-03-28T13:20:03.914Z","avatar_url":"https://github.com/FizzcodeSoftware.png","language":"C#","readme":"# Fizzcode DbTools\n###### Fizzcode DbTools open source project\n\nThe two main usage of DbTools is\n- Describe a database schema and properties in C# code, with the ability to generate the database on multiple database engines\n- Provide a command line tool, DbTools.Console to execute DbTools functions (examples: generating database documentation or comparison to an Excel file, generate database definition as .cs files)\n\n# DatabaseDeclaration\nA very simple database definition looks like this (from\n[TestDatabaseSimpleTyped.cs](https://github.com/FizzcodeSoftware/DbTools/blob/master/Tests/DbTools.DataDefinition.Tests/DatabaseDeclaration/Typed/TestDatabaseSimpleTyped.cs)):\n\n```cs\nnamespace FizzCode.DbTools.DataDefinition.Tests\n{\n    using FizzCode.DbTools.DataDefinition.Generic;\n    using FizzCode.DbTools.TestBase;\n\n    public class TestDatabaseSimpleTyped : TestDatabaseDeclaration\n    {\n        public Company Company { get; } = new Company();\n    }\n\n    public class Company : SqlTable\n    {\n        public SqlColumn Id { get; } = Generic1.AddInt32().SetPK().SetIdentity();\n\n        public SqlColumn Name { get; } = Generic1.AddNVarChar(100);\n    }\n}\n```\n\n# DbTools.Console usage\nBuild, and run FizzCode.DbTools.Console.exe\n(DbTools\\artifacts\\bin\\DbTools.Console\\debug\\FizzCode.DbTools.Console.exe)\n\nOption examples:\n\n\u003e ```FizzCode.DbTools.Console.exe document --connectionString \"\u003cconnection string\u003e\" --sqlType MsSql2016 --patternFileName \"\" --flags None```\n\n\u003e ```FizzCode.DbTools.Console.exe changedocument --connectionStringOriginal \"\u003cconnection string\u003e\" --connectionStringNew \"\u003cconnection string\u003e\" --sqlTypeOriginal MsSql2016 --sqlTypeNew MsSql2016 --patternFileName \"\" --patternFileNameOriginal \"\" --patternFileNameNew \"\" --flags None```\n\n# License\n\nSee LICENSE.\n\n# Contributing\n\nRegarding pull requests or any contribution\n- we need a signed CLA (Contributor License Agreement)\n- only code which comply with .editorconfig is accepted\n\n# Projects\n## DbTools.Console\nConsole project which accepts commands to execute DbTools features.\n## DbTools.DataDefinition\nContains classes for database definitions.\n## DbTools.DataDefinitionDocumenter\nGenerates database documentation from DatabaseDefinition.\n## DbTools.DataDefinitionExecuter\nExecutes the database creation sql commands from the DataDefinitionGenerator, to create the database.\n## DbTools.DataDefinitionGenerator\nGenerates executable sql to create database from DatabaseDefinition.\n## DbTools.DataDefinitionReader\nBuilds DatabaseDefinition from an existing database.\n## DbTools.DataGenerator\nGenerates data, typically for testing purposes, based on DatabaseDefinition.\n## DbTools.TestBase\nContains helper classes for unit testing DbTools.\n\n# Development setup\n## Config files\nConfiguration values are stored in config.json files.\nConfiguration values for tests are stored in testconfig.json files.\n\nYou can use local config values to override content of these files, which are local (developer specific), or not desired to be included in source control (for example, a connection string with username and password to an internal environment).\nUse naming as config-local.json and testconfig-local.json.\n\n## Running Unit tests\nTo run unit tests in parallel between assemblies, you have to enable it by selecting Test Explorer / Configure Run Settings / Select solution wide runsettings file, and then select the file \\Tests\\test.runsettings\n\nSee https://docs.microsoft.com/en-us/visualstudio/test/configure-unit-tests-by-using-a-dot-runsettings-file?branch=release-16.4\u0026view=vs-2022","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffizzcodesoftware%2Fdbtools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffizzcodesoftware%2Fdbtools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffizzcodesoftware%2Fdbtools/lists"}