Skip to content

Commit

Permalink
use datetime fields, not strings
Browse files Browse the repository at this point in the history
  • Loading branch information
prolic committed Dec 12, 2016
1 parent fdce093 commit a09e32d
Show file tree
Hide file tree
Showing 7 changed files with 11 additions and 9 deletions.
8 changes: 5 additions & 3 deletions src/PDOStreamIterator.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@

namespace Prooph\EventStore\PDO;

use DateTimeImmutable;
use DateTimeZone;
use Iterator;
use PDO;
use PDOStatement;
Expand Down Expand Up @@ -103,10 +105,10 @@ public function current(): ?Message
return null;
}

$createdAt = \DateTimeImmutable::createFromFormat(
'Y-m-d\TH:i:s.u',
$createdAt = DateTimeImmutable::createFromFormat(
'Y-m-d H:i:s.u',
$this->currentItem->created_at,
new \DateTimeZone('UTC')
new DateTimeZone('UTC')
);

return $this->messageFactory->createMessageFromArray($this->currentItem->event_name, [
Expand Down
2 changes: 1 addition & 1 deletion src/PersistenceStrategy/MySQLAggregateStreamStrategy.php
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public function createSchema(string $tableName): array
`event_name` VARCHAR(100) COLLATE utf8_bin NOT NULL,
`payload` JSON NOT NULL,
`metadata` JSON NOT NULL,
`created_at` CHAR(26) COLLATE utf8_bin NOT NULL,
`created_at` DATETIME(6) NOT NULL,
`version` INT(11) GENERATED ALWAYS AS (JSON_EXTRACT(metadata, '$._aggregate_version')) STORED NOT NULL UNIQUE KEY,
PRIMARY KEY (`no`),
UNIQUE KEY `ix_event_id` (`event_id`)
Expand Down
2 changes: 1 addition & 1 deletion src/PersistenceStrategy/MySQLSimpleStreamStrategy.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public function createSchema(string $tableName): array
`event_name` VARCHAR(100) COLLATE utf8_bin NOT NULL,
`payload` JSON NOT NULL,
`metadata` JSON NOT NULL,
`created_at` CHAR(26) COLLATE utf8_bin NOT NULL,
`created_at` DATETIME(6) NOT NULL,
PRIMARY KEY (`no`),
UNIQUE KEY `ix_event_id` (`event_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
Expand Down
2 changes: 1 addition & 1 deletion src/PersistenceStrategy/MySQLSingleStreamStrategy.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public function createSchema(string $tableName): array
`event_name` VARCHAR(100) COLLATE utf8_bin NOT NULL,
`payload` JSON NOT NULL,
`metadata` JSON NOT NULL,
`created_at` CHAR(26) COLLATE utf8_bin NOT NULL,
`created_at` DATETIME(6) NOT NULL,
`version` INT(11) GENERATED ALWAYS AS (JSON_EXTRACT(metadata, '$._aggregate_version')) STORED NOT NULL,
`aggregate_id` char(38) CHARACTER SET utf8 COLLATE utf8_bin GENERATED ALWAYS AS (JSON_EXTRACT(metadata, '$._aggregate_id')) STORED NOT NULL,
`aggregate_type` varchar(150) GENERATED ALWAYS AS (JSON_EXTRACT(metadata, '$._aggregate_type')) STORED NOT NULL,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public function createSchema(string $tableName): array
event_name VARCHAR(100) NOT NULL,
payload JSONB NOT NULL,
metadata JSONB NOT NULL,
created_at CHAR(26) NOT NULL,
created_at TIMESTAMP(6) NOT NULL,
PRIMARY KEY (no),
UNIQUE (event_id)
);
Expand Down
2 changes: 1 addition & 1 deletion src/PersistenceStrategy/PostgresSimpleStreamStrategy.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public function createSchema(string $tableName): array
event_name VARCHAR(100) NOT NULL,
payload JSONB NOT NULL,
metadata JSONB NOT NULL,
created_at CHAR(26) NOT NULL,
created_at TIMESTAMP(6) NOT NULL,
PRIMARY KEY (no),
UNIQUE (event_id)
);
Expand Down
2 changes: 1 addition & 1 deletion src/PersistenceStrategy/PostgresSingleStreamStrategy.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public function createSchema(string $tableName): array
event_name VARCHAR(100) NOT NULL,
payload JSONB NOT NULL,
metadata JSONB NOT NULL,
created_at CHAR(26) NOT NULL,
created_at TIMESTAMP(6) NOT NULL,
PRIMARY KEY (no),
CONSTRAINT aggregate_version_not_null CHECK ((metadata->>'_aggregate_version') IS NOT NULL),
CONSTRAINT aggregate_type_not_null CHECK ((metadata->>'_aggregate_type') IS NOT NULL),
Expand Down

0 comments on commit a09e32d

Please sign in to comment.