private static void DatabasesDB(string KernelConnectString) { if (QuantApp.Kernel.User.CurrentUser == null) { QuantApp.Kernel.User.CurrentUser = new QuantApp.Kernel.User("System"); } if (QuantApp.Kernel.M.Factory == null) { if (KernelConnectString.StartsWith("Server=")) { MSSQLDataSetAdapter KernelDataAdapter = new MSSQLDataSetAdapter(); KernelDataAdapter.ConnectString = KernelConnectString; QuantApp.Kernel.Database.DB.Add("Kernel", KernelDataAdapter); } else if (KernelConnectString.StartsWith("Host=")) { var _KernelDataAdapter = new PostgresDataSetAdapter(); _KernelDataAdapter.ConnectString = KernelConnectString; _KernelDataAdapter.CreateDB(KernelConnectString, new List <string> { File.ReadAllText(@"sql/create.sql").Replace("DateTime", "timestamp"), File.ReadAllText(@"sql/quant.sql").Replace("DateTime", "timestamp"), File.ReadAllText(@"sql/cluster.sql").Replace("DateTime", "timestamp"), File.ReadAllText(@"sql/calendars.sql"), File.ReadAllText(@"sql/fic.sql") }); var KernelDataAdapter = new PostgresDataSetAdapter(); KernelDataAdapter.ConnectString = KernelConnectString; QuantApp.Kernel.Database.DB.Add("Kernel", KernelDataAdapter); } else { if (!QuantApp.Kernel.Database.DB.ContainsKey("Kernel")) { SQLiteDataSetAdapter KernelDataAdapter = new SQLiteDataSetAdapter(); KernelDataAdapter.ConnectString = KernelConnectString; QuantApp.Kernel.Database.DB.Add("Kernel", KernelDataAdapter); } } QuantApp.Kernel.M.Factory = new QuantApp.Kernel.Adapters.SQL.Factories.SQLMFactory(); } if (!QuantApp.Kernel.Database.DB.ContainsKey("CloudApp")) { QuantApp.Kernel.Database.DB.Add("CloudApp", QuantApp.Kernel.Database.DB["Kernel"]); QuantApp.Kernel.User.Factory = new QuantApp.Kernel.Adapters.SQL.Factories.SQLUserFactory(); Group.Factory = new QuantApp.Kernel.Adapters.SQL.Factories.SQLGroupFactory(); } }
private static void Databases(string sqliteFile) { string KernelConnectString = "Data Source=" + sqliteFile; bool dbExists = File.Exists(sqliteFile); string CloudAppConnectString = KernelConnectString; SQLiteDataSetAdapter KernelDataAdapter = new SQLiteDataSetAdapter(); KernelDataAdapter.ConnectString = KernelConnectString; SQLiteDataSetAdapter CloudAppDataAdapter = KernelDataAdapter; if (QuantApp.Kernel.User.CurrentUser == null) { QuantApp.Kernel.User.CurrentUser = new QuantApp.Kernel.User("System"); } if (!QuantApp.Kernel.Database.DB.ContainsKey("Kernel")) { QuantApp.Kernel.Database.DB.Add("Kernel", KernelDataAdapter); QuantApp.Kernel.M.Factory = new QuantApp.Kernel.Adapters.SQL.Factories.SQLMFactory(); } if (!QuantApp.Kernel.Database.DB.ContainsKey("CloudApp")) { QuantApp.Kernel.Database.DB.Add("CloudApp", CloudAppDataAdapter); QuantApp.Kernel.User.Factory = new QuantApp.Kernel.Adapters.SQL.Factories.SQLUserFactory(); Group.Factory = new QuantApp.Kernel.Adapters.SQL.Factories.SQLGroupFactory(); } if (!dbExists) { Console.WriteLine("Creating table structure in: " + sqliteFile); var script = File.ReadAllText(@"create.sql"); QuantApp.Kernel.Database.DB["Kernel"].ExecuteCommand(script); } }