0
|
1 using System;
|
|
2 using System.Configuration;
|
|
3 using System.IO;
|
|
4 using BLToolkit.Data;
|
|
5 using FirebirdSql.Data.FirebirdClient;
|
|
6 using NUnit.Framework;
|
|
7
|
|
8 namespace UnitTests.CS
|
|
9 {
|
|
10 [TestFixture, Explicit, Category("DB setup")]
|
|
11 public class CreateDatabase
|
|
12 {
|
|
13 [Test]
|
|
14 public void Test()
|
|
15 {
|
|
16 FbConnection.CreateDatabase(ConfigurationManager.AppSettings.Get("ConnectionString.Fdp"), true);
|
|
17
|
|
18 const string path = @"..\..\..\..\Data\Create Scripts\Firebird2.sql";
|
|
19
|
|
20 using (DbManager db = new DbManager())
|
|
21 {
|
|
22 string cmd = string.Empty;
|
|
23 string term = ";";
|
|
24
|
|
25 foreach (string s in File.ReadAllLines(path))
|
|
26 {
|
|
27 string line = s.TrimEnd();
|
|
28 if (!line.EndsWith(term))
|
|
29 {
|
|
30 cmd += line + Environment.NewLine;
|
|
31 continue;
|
|
32 }
|
|
33
|
|
34 line = line.Substring(0, line.Length - term.Length).Trim();
|
|
35
|
|
36 if (line.ToUpperInvariant().StartsWith("SET TERM "))
|
|
37 {
|
|
38 term = line.Substring("SET TERM ".Length).Trim();
|
|
39 continue;
|
|
40 }
|
|
41
|
|
42 if (line.ToUpperInvariant().StartsWith("COMMIT"))
|
|
43 {
|
|
44 continue;
|
|
45 }
|
|
46
|
|
47 Console.WriteLine("Executing script:");
|
|
48 Console.WriteLine(cmd + line);
|
|
49
|
|
50 db
|
|
51 .SetCommand(cmd + line)
|
|
52 .ExecuteNonQuery()
|
|
53 ;
|
|
54
|
|
55 Console.WriteLine("Succeeded.");
|
|
56
|
|
57 cmd = string.Empty;
|
|
58 }
|
|
59
|
|
60 }
|
|
61 }
|
|
62 }
|
|
63 }
|