Commit 5a98c2d
Changed files (7)
product
product/application/ConsoleApplication.cs
@@ -11,6 +11,7 @@ namespace gorilla.migrations
public void run_against(string[] arguments)
{
+ System.Console.Out.WriteLine("recieved {0}", arguments);
registry.command_for(arguments).run_against(arguments);
}
}
product/application/HelpCommand.cs
@@ -6,7 +6,8 @@ namespace gorilla.migrations
{
public void run_against(ConsoleArguments item)
{
- throw new NotImplementedException();
+
+ System.Console.Out.WriteLine("Please provide the correct arguments");
}
public bool can_handle(ConsoleArguments arguments)
product/application/RunMigrationsCommand.cs
@@ -17,6 +17,7 @@ namespace gorilla.migrations
public void run_against(ConsoleArguments arguments)
{
+ System.Console.Out.WriteLine("Running migrations...");
var gateway = gateway_factory.gateway_to(arguments.parse_for("connection_string"), arguments.parse_for("data_provider"));
file_system
.all_sql_files_from(arguments.parse_for("migrations_dir"))
product/sql/001_db.sql
@@ -0,0 +1,12 @@
+USE [master]
+GO
+
+IF EXISTS(SELECT * FROM Sysdatabases WHERE NAME LIKE 'gorilla')
+ DROP DATABASE [gorilla]
+ GO
+
+CREATE DATABASE [nothinbutdotnetprep] ON PRIMARY
+( NAME = N'gorilla', FILENAME = N'd:\databases\gorilla.mdf' , SIZE = 2240KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
+ LOG ON
+( NAME = N'gorilla_log', FILENAME = N'd:\databases\gorilla.ldf' , SIZE = 768KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
+GO
product/sql/002_security.sql
@@ -0,0 +1,12 @@
+use [gorilla]
+GO
+if not exists (select * from dbo.sysusers where name = N'arc\mkhan' and uid < 16382)
+ EXEC sp_grantdbaccess N'arc\mkhan', N'arc\mkhan'
+GO
+
+if not exists (select * from dbo.sysusers where name = N'WebUser' and uid > 16399)
+ EXEC sp_addrole N'WebUser'
+GO
+
+exec sp_addrolemember N'WebUser', N'arc\mkhan'
+GO
product/sql/003_create_table_foo.sql
@@ -0,0 +1,17 @@
+use [gorilla]
+GO
+
+PRINT 'Creating table FOO'
+CREATE TABLE [dbo].[Foo](
+ [ID] [bigint] IDENTITY (1,1) NOT NULL,
+ [Name] [varchar](100) NOT NULL,
+ [Age] [int] NOT NULL,
+ [Version] [bigint] DEFAULT 1 NOT NULL
+) ON [PRIMARY]
+GO
+ALTER TABLE [dbo].[Foo] WITH NOCHECK ADD
+ CONSTRAINT [PK_FOO] PRIMARY KEY CLUSTERED
+ (
+ [ID]
+ ) ON [PRIMARY]
+GO
rakefile.rb
@@ -37,7 +37,11 @@ output_folders = [project_startup_dir,project_test_dir]
task :default => [:build_db,:test]
-task :init => :clean do
+task :clean do
+ FileUtils.rm_rf('artifacts')
+end
+
+task :init => :clean do
mkdir 'artifacts'
mkdir 'artifacts/coverage'
mkdir 'artifacts/deploy'
@@ -103,6 +107,11 @@ task :from_ide do
end
end
+task :run do
+ deploy_folder = File.join('artifacts','deploy')
+ sh "#{deploy_folder}/#{Project.name}.console.exe -migrations_dir:'' -connection_string:'#{local_settings[:config_connectionstring]}' -data_provider:'System.Data.SqlClient'"
+end
+
def copy_project_outputs(folder,extensions)
extensions.each do |extension|
puts "#{Project.name}#{extension}"