Finally dropped the hashing of the address

This commit is contained in:
Alejandro Celaya
2018-09-14 19:04:40 +02:00
parent ffb54c4f7a
commit 3d0bca2781
3 changed files with 13 additions and 49 deletions

View File

@@ -5,8 +5,6 @@ namespace ShlinkMigrations;
use Doctrine\DBAL\DBALException;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\DBAL\Schema\SchemaException;
use Doctrine\DBAL\Types\Type;
use Doctrine\Migrations\AbstractMigration;
use Shlinkio\Shlink\Common\Exception\WrongIpException;
use Shlinkio\Shlink\Common\Util\IpAddress;
@@ -18,35 +16,25 @@ final class Version20180913205455 extends AbstractMigration
{
/**
* @param Schema $schema
* @throws SchemaException
*/
public function up(Schema $schema): void
{
$visits = $schema->getTable('visits');
if ($visits->hasColumn('remote_addr_hash')) {
return;
}
$visits->addColumn('remote_addr_hash', Type::STRING, [
'notnull' => false,
'length' => 128,
]);
// Nothing to create
}
/**
* @param Schema $schema
* @throws DBALException
*/
public function postUp(Schema $schema)
public function postUp(Schema $schema): void
{
$qb = $this->connection->createQueryBuilder();
$qb->select('id', 'remote_addr', 'visit_location_id')
$qb->select('id', 'remote_addr')
->from('visits');
$st = $this->connection->executeQuery($qb->getSQL());
$qb = $this->connection->createQueryBuilder();
$qb->update('visits', 'v')
->set('v.remote_addr_hash', ':hash')
->set('v.remote_addr', ':obfuscatedAddr')
->where('v.id=:id');
@@ -58,7 +46,6 @@ final class Version20180913205455 extends AbstractMigration
$qb->setParameters([
'id' => $row['id'],
'hash' => \hash('sha256', $addr),
'obfuscatedAddr' => $this->determineAddress((string) $addr, $row),
])->execute();
}
@@ -66,11 +53,6 @@ final class Version20180913205455 extends AbstractMigration
private function determineAddress(string $addr, array $row): ?string
{
// When the visit has already been located, drop the IP address
if (isset($row['visit_location_id'])) {
return null;
}
if ($addr === IpAddress::LOCALHOST) {
return $addr;
}
@@ -84,11 +66,9 @@ final class Version20180913205455 extends AbstractMigration
/**
* @param Schema $schema
* @throws SchemaException
*/
public function down(Schema $schema): void
{
$visits = $schema->getTable('visits');
$visits->dropColumn('remote_addr_hash');
// Nothing to rollback
}
}