Exemplo n.º 1
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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;
 }