Skip to content

sethreno/schemazen

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Schema Zen - Script and create SQL Server objects quickly

Schema Zen has three main commands:

script

dotnet schemazen script --server localhost --database db --scriptDir c:\somedir

This will generate sql scripts for all objects in the database in a directory structure that looks something like:

c:\somedir\
	data
	foreign_keys
	procedures
	tables
	views
	props.sql
	schemas.sql

create

dotnet schemazen create --server localhost --database db --scriptDir c:\somedir

This will create a database named db from the sql scripts in c:\somedir.

compare

dotnet schemazen compare --source "server=dev;database=db" --target "server=qa;database=db" --outFile diff.sql

This will compare the databases named db between dev and qa and create a sql script called diff.sql that can be run on qa to make it's schema identical to dev.

See dotnet schemazen help [command] for more information and options on each command.



Quick Start

If you don't already have a tool manifest in your project

dotnet new tool-manifest

Install SchemaZen

dotnet tool install SchemaZen

Script your database to disk

dotnet schemazen script --server localhost --database db --scriptDir c:\somedir

1.x versions

SchemaZen was changed to a cross platform dotnet tool in version 2.0. Older 1.x releases can be downloaded here

Contributing

Pull requests are welcome and appreciated. See contributing.md for guidelines.

Chat

Join the chat at https://gitter.im/sethreno/schemazen


Here's some stats and an estimate of what it would cost to develop this project. Scc Count Badge Scc Count Badge

If you've found Schema Zen helpful you can buy me a coffee to say thanks. Cheers!