public void Save(ConnectionTreeModel connectionTreeModel) { if (SqlUserIsReadOnly()) { Runtime.MessageCollector.AddMessage(MessageClass.InformationMsg, "Trying to save connection tree but the SQL read only checkbox is checked, aborting!"); return; } using (var sqlConnector = DatabaseConnectorFactory.SqlDatabaseConnectorFromSettings()) { sqlConnector.Connect(); var databaseVersionVerifier = new SqlDatabaseVersionVerifier(sqlConnector); if (!databaseVersionVerifier.VerifyDatabaseVersion()) { Runtime.MessageCollector.AddMessage(MessageClass.ErrorMsg, Language.strErrorConnectionListSaveFailed); return; } var rootTreeNode = connectionTreeModel.RootNodes.OfType <RootNodeInfo>().First(); UpdateRootNodeTable(rootTreeNode, sqlConnector); UpdateConnectionsTable(rootTreeNode, sqlConnector); UpdateUpdatesTable(sqlConnector); } }
public CreateInfoTablesStep(IKernel kernel, IDatabaseConnectorConfiguration configuration, DatabaseConnectorFactory factory) : base(kernel) { _configuration = configuration; _factory = factory; }
public SqlConnectionsUpdateChecker() { _sqlConnector = DatabaseConnectorFactory.SqlDatabaseConnectorFromSettings(); _sqlQuery = new SqlCommand("SELECT * FROM tblUpdate", _sqlConnector.SqlConnection); _lastUpdateTime = default(DateTime); _lastDatabaseUpdateTime = default(DateTime); }
public DropDatabaseStep(IKernel kernel, IDatabaseConnectorConfiguration configuration, DatabaseConnectorFactory factory) : base(kernel) { _configuration = configuration; _factory = factory; }
public ConnectionTreeModel Load() { var connector = DatabaseConnectorFactory.SqlDatabaseConnectorFromSettings(); var dataProvider = new SqlDataProvider(connector); var metaDataRetriever = new SqlDatabaseMetaDataRetriever(); var databaseVersionVerifier = new SqlDatabaseVersionVerifier(connector); var cryptoProvider = new LegacyRijndaelCryptographyProvider(); var metaData = metaDataRetriever.GetDatabaseMetaData(connector) ?? HandleFirstRun(metaDataRetriever, connector); var decryptionKey = GetDecryptionKey(metaData); if (!decryptionKey.Any()) { throw new Exception("Could not load SQL connections"); } databaseVersionVerifier.VerifyDatabaseVersion(metaData.ConfVersion); var dataTable = dataProvider.Load(); var deserializer = new DataTableDeserializer(cryptoProvider, decryptionKey.First()); var connectionTree = deserializer.Deserialize(dataTable); ApplyLocalConnectionProperties(connectionTree.RootNodes.First(i => i is RootNodeInfo)); return(connectionTree); }
static void Main(string[] args) { try { var dbSettings = new DatabaseSettings(args); var exportSettings = new ExportSettings(args); var connectorDefinitions = new ConnectorSettings(args); var dbConnector = DatabaseConnectorFactory.CreateDatabaseConnector(connectorDefinitions.DbConnectorClassName, dbSettings.Provider, dbSettings.Username, dbSettings.Password); if (null == dbConnector) { throw new Exception(string.Format("Couldn't create instance of \"{0}\"", connectorDefinitions.DbConnectorClassName)); } dbConnector.Init(dbSettings.GetInitializationParameters()); var dbInfoProcessor = DbInfoProcessorFactory.CreateDbInfoProcessor(connectorDefinitions.DbInfoProcessorClassName); if (null == dbInfoProcessor) { throw new Exception(string.Format("Couldn't create instance of \"{0}\"", connectorDefinitions.DbInfoProcessorClassName)); } var controller = new MainController(); var dbInfos = controller.AcquireDatabaseSchemaInformation(dbConnector); controller.ProcessDatabaseSchema(dbInfos, dbInfoProcessor); } catch (Exception e) { System.Console.Error.WriteLine(e.Message); } }
static void Startup() { Console.WriteLine("NHibernate with .NET Core - demo!"); Console.WriteLine(); Console.WriteLine("-> https://github.com/ThiagoBarradas/nhibernate-netcore-demo"); Console.WriteLine(); var sessionFactory = DatabaseConnectorFactory.GetInstance(DatabaseType, ConnectionString); PersonRepository = new PersonRepository(sessionFactory); }
public ConnectionTreeModel Load() { var connector = DatabaseConnectorFactory.SqlDatabaseConnectorFromSettings(); var dataProvider = new SqlDataProvider(connector); var databaseVersionVerifier = new SqlDatabaseVersionVerifier(connector); databaseVersionVerifier.VerifyDatabaseVersion(); var dataTable = dataProvider.Load(); var deserializer = new DataTableDeserializer(); return(deserializer.Deserialize(dataTable)); }
public void Save(ConnectionTreeModel connectionTreeModel, string propertyNameTrigger = "") { var rootTreeNode = connectionTreeModel.RootNodes.OfType <RootNodeInfo>().First(); UpdateLocalConnectionProperties(rootTreeNode); if (PropertyIsLocalOnly(propertyNameTrigger)) { Runtime.MessageCollector.AddMessage(MessageClass.DebugMsg, $"Property {propertyNameTrigger} is local only. Not saving to database."); return; } if (SqlUserIsReadOnly()) { Runtime.MessageCollector.AddMessage(MessageClass.InformationMsg, "Trying to save connection tree but the SQL read only checkbox is checked, aborting!"); return; } using (var dbConnector = DatabaseConnectorFactory.DatabaseConnectorFromSettings()) { dbConnector.Connect(); var databaseVersionVerifier = new SqlDatabaseVersionVerifier(dbConnector); var metaDataRetriever = new SqlDatabaseMetaDataRetriever(); var metaData = metaDataRetriever.GetDatabaseMetaData(dbConnector); if (!databaseVersionVerifier.VerifyDatabaseVersion(metaData.ConfVersion)) { Runtime.MessageCollector.AddMessage(MessageClass.ErrorMsg, Language.strErrorConnectionListSaveFailed); return; } metaDataRetriever.WriteDatabaseMetaData(rootTreeNode, dbConnector); UpdateConnectionsTable(rootTreeNode, dbConnector); UpdateUpdatesTable(dbConnector); } Runtime.MessageCollector.AddMessage(MessageClass.DebugMsg, "Saved connections to database"); }
public ApplyScriptsStep(IKernel kernel, DatabaseConnectorFactory factory) : base(kernel) { _factory = factory; }
public DowngradeStep(IKernel kernel, DatabaseConnectorFactory factory) : base(kernel, factory) { UseRollbackScripts = true; }
public SqlConnectionsUpdateChecker() { _dbConnector = DatabaseConnectorFactory.DatabaseConnectorFromSettings(); _dbQuery = _dbConnector.DbCommand("SELECT * FROM tblUpdate"); _lastDatabaseUpdateTime = default(DateTime); }