mirror of
https://github.com/shlinkio/shlink.git
synced 2025-02-18 16:29:56 +03:00
Added import_source column in ShortUrls
This commit is contained in:
parent
33d3837795
commit
554d9b092f
3 changed files with 40 additions and 2 deletions
33
data/migrations/Version20201023090929.php
Normal file
33
data/migrations/Version20201023090929.php
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace ShlinkMigrations;
|
||||||
|
|
||||||
|
use Doctrine\DBAL\Schema\Schema;
|
||||||
|
use Doctrine\DBAL\Types\Types;
|
||||||
|
use Doctrine\Migrations\AbstractMigration;
|
||||||
|
|
||||||
|
final class Version20201023090929 extends AbstractMigration
|
||||||
|
{
|
||||||
|
private const IMPORT_SOURCE_COLUMN = 'import_source';
|
||||||
|
|
||||||
|
public function up(Schema $schema): void
|
||||||
|
{
|
||||||
|
$shortUrls = $schema->getTable('short_urls');
|
||||||
|
$this->skipIf($shortUrls->hasColumn(self::IMPORT_SOURCE_COLUMN));
|
||||||
|
|
||||||
|
$shortUrls->addColumn(self::IMPORT_SOURCE_COLUMN, Types::STRING, [
|
||||||
|
'length' => 255,
|
||||||
|
'notnull' => false,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function down(Schema $schema): void
|
||||||
|
{
|
||||||
|
$shortUrls = $schema->getTable('short_urls');
|
||||||
|
$this->skipIf(! $shortUrls->hasColumn(self::IMPORT_SOURCE_COLUMN));
|
||||||
|
|
||||||
|
$shortUrls->dropColumn(self::IMPORT_SOURCE_COLUMN);
|
||||||
|
}
|
||||||
|
}
|
|
@ -51,6 +51,11 @@ return static function (ClassMetadata $metadata, array $emConfig): void {
|
||||||
->nullable()
|
->nullable()
|
||||||
->build();
|
->build();
|
||||||
|
|
||||||
|
$builder->createField('importSource', Types::STRING)
|
||||||
|
->columnName('import_source')
|
||||||
|
->nullable()
|
||||||
|
->build();
|
||||||
|
|
||||||
$builder->createOneToMany('visits', Entity\Visit::class)
|
$builder->createOneToMany('visits', Entity\Visit::class)
|
||||||
->mappedBy('shortUrl')
|
->mappedBy('shortUrl')
|
||||||
->fetchExtraLazy()
|
->fetchExtraLazy()
|
||||||
|
|
|
@ -35,7 +35,7 @@ class ShortUrl extends AbstractEntity
|
||||||
private ?Domain $domain = null;
|
private ?Domain $domain = null;
|
||||||
private bool $customSlugWasProvided;
|
private bool $customSlugWasProvided;
|
||||||
private int $shortCodeLength;
|
private int $shortCodeLength;
|
||||||
private ?string $source = null;
|
private ?string $importSource = null;
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
string $longUrl,
|
string $longUrl,
|
||||||
|
@ -72,7 +72,7 @@ class ShortUrl extends AbstractEntity
|
||||||
}
|
}
|
||||||
|
|
||||||
$instance = new self($url->longUrl(), ShortUrlMeta::fromRawData($meta), $domainResolver);
|
$instance = new self($url->longUrl(), ShortUrlMeta::fromRawData($meta), $domainResolver);
|
||||||
$instance->source = $source;
|
$instance->importSource = $source;
|
||||||
$instance->dateCreated = Chronos::instance($url->createdAt());
|
$instance->dateCreated = Chronos::instance($url->createdAt());
|
||||||
|
|
||||||
return $instance;
|
return $instance;
|
||||||
|
|
Loading…
Add table
Reference in a new issue