internal static IPlatformDatabaseServices GetDatabaseServices(DBKind dbKind, ConnectionString connectionString, string schema) { var pluginProvider = new DatabasePluginProvider <IPlatformDatabaseProvider>(GetDatabasePluginsPath()); var provider = pluginProvider.GetImplementation(DatabaseProviderKey.Deserialize(dbKind.ToString())); var databaseConfiguration = CreateDatabaseConfiguration(provider, connectionString.GetConnectionString(), connectionString.GetOnsConfig(), String.Empty, schema); return(provider.GetPlatformDatabaseServices(databaseConfiguration)); }
static BaseAgnosticDatabaseProviderTestConfiguration() { // Plugins are loaded relative to AppBase so that they work on the developer machine and on regressions var serverPluginsDir = new DirectoryInfo(Path.Combine(Path.Combine(BaseDirectory.FullName, "plugins"), "database")); serverPluginProvider = new DatabasePluginProvider <TDatabaseProvider>(serverPluginsDir); // Not 100% correct since they should have a different interface, but can't reference it in this project var internalPluginsDir = new DirectoryInfo(Path.Combine(serverPluginsDir.FullName, "internal")); internalPluginProvider = new DatabasePluginProvider <TDatabaseProvider>(internalPluginsDir); }
public static IRuntimeDatabaseConfiguration For(DatabasePluginProvider <IPlatformDatabaseProvider> provider, DatabaseSettingsSerialization.Source source, DatabaseSettingsSerialization.User user) { var @params = Read(source, user); if (@params.Count == 0) { return(null); } var providerKey = DatabaseProviderKey.Deserialize(@params[DatabaseConfigurations.ProviderKeyName].ToString()); var conf = provider.GetImplementation(providerKey).CreateEmptyRuntimeDatabaseConfiguration(); RuntimeDatabaseConfigurations.Fill(conf, @params); return(conf); }
public static IRuntimeDatabaseConfiguration For( DatabasePluginProvider <IPlatformDatabaseProvider> provider, DatabaseSettingsSerialization.Source source, DatabaseSettingsSerialization.User user, DatabaseSettingsSerialization.DataSpace dataSpace, ISettingsProvider settingsProvider) { var providerKeySetting = new Setting <string>(BuildSettingName(source, user, dataSpace, DatabaseConfigurations.ProviderKeyName), string.Empty); var providerKeyString = settingsProvider.Get(providerKeySetting); if (string.IsNullOrEmpty(providerKeyString)) { return(null); } var providerKey = DatabaseProviderKey.Deserialize(providerKeyString); var conf = provider.GetImplementation(providerKey).CreateEmptyRuntimeDatabaseConfiguration(); RuntimeDatabaseConfigurations.Fill(conf, BuildSettingName(source, user, dataSpace, ""), settingsProvider); return(conf); }
public DatabaseConnectionUpgrader() { pluginProvider = DatabaseAccess.CurrentIntegrationDatabasesPluginProvider; }