Exemplo n.º 1
0
        private void MigrateDatabase(IContainer container)
        {
            var databaseMigrator = container.Resolve <IPostgreSqlDatabaseMigrator>();

            EventFlowSnapshotStoresPostgreSql.MigrateDatabase(databaseMigrator);
            //EventFlowEventStoresPostgreSql.MigrateDatabase(databaseMigrator);
            databaseMigrator.MigrateDatabaseUsingScripts(new[]
            {
                new SqlScript(
                    "本ReadModel",
                    @"CREATE TABLE IF NOT EXISTS ""ReadModel-本""(
    本のID Varchar(64),
    本のタイトル Varchar(64),
    利用者のID Varchar(64),
    貸出期間自 Timestamp WITH TIME ZONE,
    貸出期間至 Timestamp WITH TIME ZONE,

    -- -------------------------------------------------
    Id bigint GENERATED BY DEFAULT AS IDENTITY,
    AggregateId Varchar(64) NOT NULL,
    CreateTime Timestamp WITH TIME ZONE NOT NULL,
    UpdatedTime Timestamp WITH TIME ZONE NOT NULL,
    LastAggregateSequenceNumber int NOT NULL,
    CONSTRAINT ""PK_ReadModel-本"" PRIMARY KEY
    (
        Id
    )
);

CREATE INDEX  IF NOT EXISTS ""IX_ReadModel-本_AggregateId"" ON ""ReadModel-本""
(
    AggregateId
);
            "),
                new SqlScript(
                    "利用者ReadModel",
                    @"CREATE TABLE IF NOT EXISTS ""ReadModel-利用者""(
    利用者のID Varchar(64),
    氏名 Varchar(64),

    -- -------------------------------------------------
    Id bigint GENERATED BY DEFAULT AS IDENTITY,
    AggregateId Varchar(64) NOT NULL,
    CreateTime Timestamp WITH TIME ZONE NOT NULL,
    UpdatedTime Timestamp WITH TIME ZONE NOT NULL,
    LastAggregateSequenceNumber int NOT NULL,
    CONSTRAINT ""PK_ReadModel-利用者"" PRIMARY KEY
    (
        Id
    )
);

CREATE INDEX  IF NOT EXISTS ""IX_ReadModel-利用者_AggregateId"" ON ""ReadModel-利用者""
(
    AggregateId
);
            "),
            });
        }
Exemplo n.º 2
0
        public void GetSqlScripts()
        {
            // Act
            var sqlScripts = EventFlowSnapshotStoresPostgreSql.GetSqlScripts().ToDictionary(s => s.Name, s => s);

            // Assert
            sqlScripts.Should().HaveCount(1);
            sqlScripts.Should().ContainKey("SnapshotStores.Scripts.0001 - Create EventFlowSnapshots.sql");
        }
        protected override IRootResolver CreateRootResolver(IEventFlowOptions eventFlowOptions)
        {
            _testDatabase = PostgreSqlHelpz.CreateDatabase("eventflow-snapshots");

            var resolver = eventFlowOptions
                           .ConfigurePostgreSql(PostgreSqlConfiguration.New.SetConnectionString(_testDatabase.ConnectionString.Value))
                           .UsePostgreSqlSnapshotStore()
                           .CreateResolver();

            var databaseMigrator = resolver.Resolve <IPostgreSqlDatabaseMigrator>();

            EventFlowSnapshotStoresPostgreSql.MigrateDatabase(databaseMigrator);

            return(resolver);
        }