Beispiel #1
0
        protected override void Load(ContainerBuilder builder)
        {
            builder.RegisterEventStore(initializationConfiguration =>
            {
                var configuration = initializationConfiguration.Resolve <IConfiguration>();
                var eventStoreConnectionString = configuration.GetValue <string>("CoreEventStore:EventStoreConfig:ConnectionString");
                var init = new InitializationConfiguration()
                {
                    EventStoreConnectionString = eventStoreConnectionString,
                };
                return(init);
            })
            .SubscribeRead(subscriptionConfiguration =>
            {
                subscriptionConfiguration.AddEvent <CustomerCreatedForMySql>(nameof(CustomerCreatedForMySql));
                subscriptionConfiguration.AddEvent <CustomerModified>(nameof(CustomerModified));
            }, new CustomProjectorInvoker())
            .UseeMySql(context =>
            {
                var configuration         = context.Resolve <IConfiguration>();
                var mySqlConnectionString = configuration.GetValue <string>("CoreEventStore:MySqlConfig:ConnectionString");

                var mySqlConfiguration = new MySqlConfiguration();
                mySqlConfiguration.ConnectionString = mySqlConnectionString;
                return(mySqlConfiguration);
            })
            .KeepPositionInMySql()
            .KeepIdempotenceInMySql();
        }
Beispiel #2
0
        static AuthDatabase()
        {
            var config = Config.Instance.AuthDatabase;

            DataAccessModelConfiguration dbConfig;

            switch (Config.Instance.AuthDatabase.Engine)
            {
            case DatabaseEngine.MySQL:
                dbConfig = MySqlConfiguration.Create(config.Database, config.Host, config.Username, config.Password, true);
                break;

            case DatabaseEngine.SQLite:
                dbConfig = SqliteConfiguration.Create(config.Filename, null);
                break;

            default:
                Logger.Error()
                .Message("Invalid database engine {0}", Config.Instance.AuthDatabase.Engine)
                .Write();
                Environment.Exit(0);
                return;
            }

            Instance = DataAccessModel.BuildDataAccessModel <Database.Auth.AuthDatabase>(dbConfig);
        }
 public MySqlSnippetQuery(MySqlConfiguration _configuration)
 {
     _connectionString = $"server={_configuration.Host};" +
                         $"port={_configuration.Port};" +
                         $"database={_configuration.Database};" +
                         $"uid={_configuration.User};" +
                         $"password={_configuration.Password}";
 }
        /// <summary>
        /// Use MySql for the Outbox
        /// </summary>
        /// <param name="brighterBuilder">Allows extension method syntax</param>
        /// <param name="configuration">The connection for the Db and name of the Outbox table</param>
        /// <param name="connectionProvider">What is the type for the class that lets us obtain connections for the Sqlite database</param>
        /// <param name="serviceLifetime">What is the lifetime of the services that we add</param>
        /// <returns>Allows fluent syntax</returns>
        /// Registers the following
        /// -- MySqlOutboxConfigutation: connection string and outbox name
        /// -- IMySqlConnectionProvider: lets us get a connection for the outbox that matches the entity store
        /// -- IAmAnOutbox<Message>: an outbox to store messages we want to send
        /// -- IAmAnOutboxAsync<Message>: an outbox to store messages we want to send
        /// -- IAmAnOutboxViewer<Message>: Lets us read the entries in the outbox
        /// -- IAmAnOutboxViewerAsync<Message>: Lets us read the entries in the outbox
        public static IBrighterBuilder UseMySqlOutbox(
            this IBrighterBuilder brighterBuilder, MySqlConfiguration configuration, Type connectionProvider, ServiceLifetime serviceLifetime = ServiceLifetime.Singleton)
        {
            brighterBuilder.Services.AddSingleton <MySqlConfiguration>(configuration);
            brighterBuilder.Services.Add(new ServiceDescriptor(typeof(IMySqlConnectionProvider), connectionProvider, serviceLifetime));

            brighterBuilder.Services.Add(new ServiceDescriptor(typeof(IAmAnOutboxSync <Message>), BuildMySqlOutboxOutbox, serviceLifetime));
            brighterBuilder.Services.Add(new ServiceDescriptor(typeof(IAmAnOutboxAsync <Message>), BuildMySqlOutboxOutbox, serviceLifetime));

            return(brighterBuilder);
        }
        public static IHummingbirdEventBusHostBuilder AddMySqlEventLogging(this IHummingbirdEventBusHostBuilder hostBuilder, Action <MySqlConfiguration> setupFactory)
        {
            #region 配置
            setupFactory = setupFactory ?? throw new ArgumentNullException(nameof(setupFactory));
            var configuration = new MySqlConfiguration();
            setupFactory(configuration);
            #endregion

            hostBuilder.Services.AddTransient <MySqlConfiguration>(a => configuration);
            hostBuilder.Services.AddTransient <IDbConnectionFactory>(a => new DbConnectionFactory(configuration.ConnectionString));
            hostBuilder.Services.AddTransient <IEventLogger, MySqlEventLogger>();
            return(hostBuilder);
        }
Beispiel #6
0
        protected DataAccessModelConfiguration CreateMySqlConfiguration(string databaseName)
        {
            var retval = MySqlConfiguration.Create(databaseName, "localhost", "root", "root");

            retval.AlwaysSubmitDefaultValues       = this.alwaysSubmitDefaultValues;
            retval.ValueTypesAutoImplicitDefault   = this.valueTypesAutoImplicitDefault;
            retval.SaveAndReuseGeneratedAssemblies = true;
            ((MySqlSqlDatabaseContextInfo)retval.SqlDatabaseContextInfos[0]).SilentlyIgnoreIndexConditions = true;
            retval.SqlDatabaseContextInfos[0].SqlDataTypes = new List <Type> {
                typeof(SqlFixedDateDataType)
            };

            return(retval);
        }
Beispiel #7
0
        public DatabaseModel()
        {
            //var configuration = SqliteConfiguration.Create("database.sqlite", null);
            var configuration = MySqlConfiguration.Create("wow", "127.0.0.1", "homestead", "secret");

            try
            {
                Model = DataAccessModel.BuildDataAccessModel <T>(configuration);
            }
            catch (Exception e)
            {
                var trace = new StackTrace(e, true);
                Log.Print(LogType.Error, $"{e.Message}: {e.Source}\n{trace.GetFrame(trace.FrameCount - 1).GetFileName()}:{trace.GetFrame(trace.FrameCount - 1).GetFileLineNumber()}");
            }
        }
Beispiel #8
0
 protected DataAccessModelConfiguration CreateMySqlConfiguration(string databaseName)
 {
     return(MySqlConfiguration.Create(databaseName, "localhost", "root", "root"));
 }
Beispiel #9
0
 public MySqlDbContext(MySqlConfiguration configuration)
 {
     _configuration = configuration;
 }
Beispiel #10
0
 public MySqlOutboxSync(MySqlConfiguration configuration) : this(configuration, new MySqlConnectionProvider(configuration))
 {
 }
Beispiel #11
0
 public MySqlOutboxSync(MySqlConfiguration configuration, IMySqlConnectionProvider connectionProvider)
 {
     _configuration            = configuration;
     _connectionProvider       = connectionProvider;
     ContinueOnCapturedContext = false;
 }
        public static IdentityBuilder AddDapperIdentityForMySql <TKey, TUserRole, TRoleClaim>(this IdentityBuilder builder, MySqlConfiguration configurationOverride)
        {
            builder.Services.AddSingleton <SqlConfiguration>(configurationOverride);

            AddStores(builder.Services, builder.UserType, builder.RoleType, typeof(TKey), typeof(TUserRole), typeof(TRoleClaim));

            return(builder);
        }
        public static IdentityBuilder AddDapperIdentityForMySql(this IdentityBuilder builder, MySqlConfiguration configurationOverride)
        {
            builder.Services.AddSingleton <SqlConfiguration>(configurationOverride);

            AddStores(builder.Services, builder.UserType, builder.RoleType);

            return(builder);
        }