Exemple #1
0
        public void Setup(string data)
        {
            Migrate.Up(_connection.ConnectionString);

            _ndbUnitTest = new PostgresqlDbUnitTest(_connection.ConnectionString);
            _ndbUnitTest.ReadXmlSchema("Files/Schema.xsd");
            if (!string.IsNullOrEmpty(data))
            {
                _ndbUnitTest.ReadXml(data);
            }

            _ndbUnitTest.PerformDbOperation(DbOperationFlag.CleanInsertIdentity);
        }
Exemple #2
0
        /// <summary>
        /// Initializes the database and stuff.
        /// </summary>
        public static void Plumbing()
        {
            var clientId = SettingsManager.ClientSettings.AppConfiguration.ClientId;
            var baseUrl  = String.Format("http://download{0}.inbox2.com/",
                                         String.IsNullOrEmpty(CommandLine.Current.Environment) ? String.Empty : "." + CommandLine.Current.Environment);

            Migrate.Up(typeof(ChannelConfig));
            Migrate.Up(typeof(Conversation));
            Migrate.Up(typeof(Message));
            Migrate.Up(typeof(Document));
            Migrate.Up(typeof(DocumentVersion));
            Migrate.Up(typeof(Person));
            Migrate.Up(typeof(Profile));
            Migrate.Up(typeof(UserStatus));
            Migrate.Up(typeof(UserStatusAttachment));
            Migrate.Up(typeof(QueuedCommand));
            Migrate.Up(typeof(FeedItem));

            var appVersion   = Assembly.GetExecutingAssembly().GetName().Version;
            var savedVersion = SettingsManager.ClientSettings.Version;

            Logger.Warn("Saved version {0}", LogSource.Startup, savedVersion);

            if (_isFirstRun || Environment.CommandLine.Contains("/firstrun"))
            {
                HttpServiceRequest.Post(baseUrl + "version/install",
                                        String.Format("clientId={0}&version={1}", clientId, appVersion));
            }

            if (_isFirstRun == false && appVersion > savedVersion)
            {
                Logger.Debug("Upgrade detected, performing nescessary upgrade actions", LogSource.Startup);

                // Get all upgrades
                UpgradeActionBase.Upgrades.AddRange(typeof(Startup)
                                                    .Assembly.GetTypes()
                                                    .Where(t => t.IsSubclassOf(typeof(UpgradeActionBase)))
                                                    .Select(t => (UpgradeActionBase)Activator.CreateInstance(t))
                                                    .Where(i => i.TargetVersion > savedVersion)
                                                    .OrderBy(i => i.TargetVersion));

                UpgradeActionBase.Upgrades.ForEach(i => i.Upgrade());

                HttpServiceRequest.Post(baseUrl + "version/upgrade",
                                        String.Format("clientId={0}&from={1}&to={2}", clientId, savedVersion, appVersion));
            }

            // Save current version
            SettingsManager.ClientSettings.Version = appVersion;
        }
Exemple #3
0
        public void Run()
        {
            _logger.LogInformation($"Running {typeof(App).FullName}");

            // Setup dapper
            SimpleCRUD.SetDialect(SimpleCRUD.Dialect.PostgreSQL);

            // Setup database
            Migrate.Up(_dbConfig.ConnectionString);

            // Setup commands
            Setup <CreateCategoryCommand>();
            Setup <CreatePodcastCommand>();
            Setup <DeleteCategoryCommand>();
            Setup <DeletePodcastCommand>();
            Setup <PopulateCommand>();
        }