Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Limit all fields with varchar of 255 characters to 190 unicode characters. #2151

Closed
wants to merge 3 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 22 additions & 21 deletions application/data/install/schema.sql
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ SET FOREIGN_KEY_CHECKS = 0;
CREATE TABLE `api_key` (
`id` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL,
`owner_id` int NOT NULL,
`label` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`label` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
`credential_hash` varchar(60) COLLATE utf8mb4_unicode_ci NOT NULL,
`last_ip` varbinary(16) DEFAULT NULL COMMENT '(DC2Type:ip_address)',
`last_accessed` datetime DEFAULT NULL,
Expand All @@ -14,10 +14,10 @@ CREATE TABLE `api_key` (
CREATE TABLE `asset` (
`id` int NOT NULL AUTO_INCREMENT,
`owner_id` int DEFAULT NULL,
`name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`media_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`name` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
`media_type` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
`storage_id` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
`extension` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`extension` varchar(190) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`alt_text` longtext COLLATE utf8mb4_unicode_ci,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_2AF5A5C5CC5DB90` (`storage_id`),
Expand Down Expand Up @@ -71,9 +71,9 @@ CREATE TABLE `item_site` (
CREATE TABLE `job` (
`id` int NOT NULL AUTO_INCREMENT,
`owner_id` int DEFAULT NULL,
`pid` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`status` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`class` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`pid` varchar(190) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`status` varchar(190) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`class` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
`args` longtext COLLATE utf8mb4_unicode_ci COMMENT '(DC2Type:json_array)',
`log` longtext COLLATE utf8mb4_unicode_ci,
`started` datetime NOT NULL,
Expand All @@ -85,13 +85,13 @@ CREATE TABLE `job` (
CREATE TABLE `media` (
`id` int NOT NULL,
`item_id` int NOT NULL,
`ingester` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`renderer` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`ingester` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
`renderer` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
`data` longtext COLLATE utf8mb4_unicode_ci COMMENT '(DC2Type:json_array)',
`source` longtext COLLATE utf8mb4_unicode_ci,
`media_type` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`media_type` varchar(190) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`storage_id` varchar(190) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`extension` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`extension` varchar(190) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`sha256` char(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`size` bigint DEFAULT NULL,
`has_original` tinyint(1) NOT NULL,
Expand All @@ -103,6 +103,7 @@ CREATE TABLE `media` (
UNIQUE KEY `UNIQ_6A2CA10C5CC5DB90` (`storage_id`),
KEY `IDX_6A2CA10C126F525E` (`item_id`),
KEY `item_position` (`item_id`,`position`),
KEY `media_type` (`media_type`),
CONSTRAINT `FK_6A2CA10C126F525E` FOREIGN KEY (`item_id`) REFERENCES `item` (`id`),
CONSTRAINT `FK_6A2CA10CBF396750` FOREIGN KEY (`id`) REFERENCES `resource` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
Expand All @@ -113,7 +114,7 @@ CREATE TABLE `migration` (
CREATE TABLE `module` (
`id` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
`is_active` tinyint(1) NOT NULL,
`version` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`version` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE `password_creation` (
Expand All @@ -130,7 +131,7 @@ CREATE TABLE `property` (
`owner_id` int DEFAULT NULL,
`vocabulary_id` int NOT NULL,
`local_name` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
`label` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`label` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
`comment` longtext COLLATE utf8mb4_unicode_ci,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_8BF21CDEAD0E05F6623C14D5` (`vocabulary_id`,`local_name`),
Expand All @@ -149,7 +150,7 @@ CREATE TABLE `resource` (
`is_public` tinyint(1) NOT NULL,
`created` datetime NOT NULL,
`modified` datetime DEFAULT NULL,
`resource_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`resource_type` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
PRIMARY KEY (`id`),
KEY `IDX_BC91F4167E3C61F9` (`owner_id`),
KEY `IDX_BC91F416448CC1BD` (`resource_class_id`),
Expand All @@ -167,7 +168,7 @@ CREATE TABLE `resource_class` (
`owner_id` int DEFAULT NULL,
`vocabulary_id` int NOT NULL,
`local_name` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
`label` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`label` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
`comment` longtext COLLATE utf8mb4_unicode_ci,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_C6F063ADAD0E05F6623C14D5` (`vocabulary_id`,`local_name`),
Expand Down Expand Up @@ -198,13 +199,13 @@ CREATE TABLE `resource_template_property` (
`id` int NOT NULL AUTO_INCREMENT,
`resource_template_id` int NOT NULL,
`property_id` int NOT NULL,
`alternate_label` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`alternate_label` varchar(190) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`alternate_comment` longtext COLLATE utf8mb4_unicode_ci,
`position` int DEFAULT NULL,
`data_type` longtext COLLATE utf8mb4_unicode_ci COMMENT '(DC2Type:json_array)',
`is_required` tinyint(1) NOT NULL,
`is_private` tinyint(1) NOT NULL,
`default_lang` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`default_lang` varchar(190) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_4689E2F116131EA549213EC` (`resource_template_id`,`property_id`),
KEY `IDX_4689E2F116131EA` (`resource_template_id`),
Expand Down Expand Up @@ -282,7 +283,7 @@ CREATE TABLE `site_page` (
`slug` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
`title` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
`is_public` tinyint(1) NOT NULL,
`layout` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`layout` varchar(190) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`layout_data` longtext COLLATE utf8mb4_unicode_ci COMMENT '(DC2Type:json)',
`created` datetime NOT NULL,
`modified` datetime DEFAULT NULL,
Expand Down Expand Up @@ -350,8 +351,8 @@ CREATE TABLE `value` (
`property_id` int NOT NULL,
`value_resource_id` int DEFAULT NULL,
`value_annotation_id` int DEFAULT NULL,
`type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`lang` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`type` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
`lang` varchar(190) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`value` longtext COLLATE utf8mb4_unicode_ci,
`uri` longtext COLLATE utf8mb4_unicode_ci,
`is_public` tinyint(1) NOT NULL,
Expand All @@ -378,7 +379,7 @@ CREATE TABLE `vocabulary` (
`owner_id` int DEFAULT NULL,
`namespace_uri` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
`prefix` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
`label` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`label` varchar(190) COLLATE utf8mb4_unicode_ci NOT NULL,
`comment` longtext COLLATE utf8mb4_unicode_ci,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_9099C97B9B267FDF` (`namespace_uri`),
Expand Down
19 changes: 19 additions & 0 deletions application/data/migrations/20240219000000_AddIndexMediaType.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?php declare(strict_types=1);

namespace Omeka\Db\Migrations;

use Doctrine\DBAL\Connection;
use Omeka\Db\Migration\MigrationInterface;

class AddIndexMediaType implements MigrationInterface
{
public function up(Connection $conn)
{
try {
$conn->executeStatement('ALTER TABLE `media` CHANGE `media_type` `media_type` varchar(190) COLLATE "utf8mb4_unicode_ci" NULL AFTER `source`;');
$conn->executeStatement('ALTER TABLE `media` ADD INDEX `media_type` (`media_type`);');
} catch (\Exception $e) {
// Index exists.
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<?php declare(strict_types=1);

namespace Omeka\Db\Migrations;

use Doctrine\DBAL\Connection;
use Omeka\Db\Migration\MigrationInterface;

class LimitFieldsTo190Characters implements MigrationInterface
{
public function up(Connection $conn)
{
$sql = <<<'SQL'
ALTER TABLE `asset`
CHANGE `media_type` `media_type` varchar(190) COLLATE 'utf8mb4_unicode_ci' NOT NULL AFTER `name`,
CHANGE `extension` `extension` varchar(190) COLLATE 'utf8mb4_unicode_ci' NULL AFTER `storage_id`;

ALTER TABLE `job`
CHANGE `pid` `pid` varchar(190) COLLATE 'utf8mb4_unicode_ci' NULL AFTER `owner_id`,
CHANGE `status` `status` varchar(190) COLLATE 'utf8mb4_unicode_ci' NULL AFTER `pid`,
CHANGE `class` `class` varchar(190) COLLATE 'utf8mb4_unicode_ci' NOT NULL AFTER `status`;

ALTER TABLE `media`
CHANGE `ingester` `ingester` varchar(190) COLLATE 'utf8mb4_unicode_ci' NOT NULL AFTER `item_id`,
CHANGE `renderer` `renderer` varchar(190) COLLATE 'utf8mb4_unicode_ci' NOT NULL AFTER `ingester`,
CHANGE `media_type` `media_type` varchar(190) COLLATE 'utf8mb4_unicode_ci' NULL AFTER `source`,
CHANGE `extension` `extension` varchar(190) COLLATE 'utf8mb4_unicode_ci' NULL AFTER `storage_id`;

ALTER TABLE `module`
CHANGE `version` `version` varchar(190) COLLATE 'utf8mb4_unicode_ci' NOT NULL AFTER `is_active`;

ALTER TABLE `resource`
CHANGE `resource_type` `resource_type` varchar(190) COLLATE 'utf8mb4_unicode_ci' NOT NULL AFTER `modified`;

ALTER TABLE `resource_template_property`
CHANGE `default_lang` `default_lang` varchar(190) COLLATE 'utf8mb4_unicode_ci' NULL AFTER `is_private`;

ALTER TABLE `site_page`
CHANGE `layout` `layout` varchar(190) COLLATE 'utf8mb4_unicode_ci' NULL AFTER `modified`;

ALTER TABLE `value`
CHANGE `type` `type` varchar(190) COLLATE 'utf8mb4_unicode_ci' NOT NULL AFTER `value_resource_id`,
CHANGE `lang` `lang` varchar(190) COLLATE 'utf8mb4_unicode_ci' NULL AFTER `type`;

SQL;
$conn->executeStatement($sql);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<?php declare(strict_types=1);

namespace Omeka\Db\Migrations;

use Doctrine\DBAL\Connection;
use Omeka\Db\Migration\MigrationInterface;

class LimitLabelsTo190Characters implements MigrationInterface
{
public function up(Connection $conn)
{
$sql = <<<'SQL'
ALTER TABLE `api_key`
CHANGE `label` `label` varchar(190) COLLATE 'utf8mb4_unicode_ci' NOT NULL AFTER `owner_id`;

ALTER TABLE `asset`
CHANGE `name` `name` varchar(190) COLLATE 'utf8mb4_unicode_ci' NOT NULL AFTER `owner_id`;

ALTER TABLE `property`
CHANGE `label` `label` varchar(190) COLLATE 'utf8mb4_unicode_ci' NOT NULL AFTER `local_name`;

ALTER TABLE `resource_class`
CHANGE `label` `label` varchar(190) COLLATE 'utf8mb4_unicode_ci' NOT NULL AFTER `local_name`;

ALTER TABLE `resource_template_property`
CHANGE `alternate_label` `alternate_label` varchar(190) COLLATE 'utf8mb4_unicode_ci' NULL AFTER `property_id`;

ALTER TABLE `vocabulary`
CHANGE `label` `label` varchar(190) COLLATE 'utf8mb4_unicode_ci' NOT NULL AFTER `prefix`;

SQL;
$conn->executeStatement($sql);
}
}
2 changes: 1 addition & 1 deletion application/src/Entity/ApiKey.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ class ApiKey extends AbstractEntity
protected $id;

/**
* @Column
* @Column(length=190)
*/
protected $label;

Expand Down
6 changes: 3 additions & 3 deletions application/src/Entity/Asset.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,12 @@ class Asset extends AbstractEntity
protected $owner;

/**
* @Column
* @Column(length=190)
*/
protected $name;

/**
* @Column
* @Column(length=190)
*/
protected $mediaType;

Expand All @@ -35,7 +35,7 @@ class Asset extends AbstractEntity
protected $storageId;

/**
* @Column(nullable=true)
* @Column(nullable=true, length=190)
*/
protected $extension;

Expand Down
6 changes: 3 additions & 3 deletions application/src/Entity/Job.php
Original file line number Diff line number Diff line change
Expand Up @@ -36,17 +36,17 @@ class Job extends AbstractEntity
protected $id;

/**
* @Column(nullable=true)
* @Column(nullable=true, length=190)
*/
protected $pid;

/**
* @Column(nullable=true)
* @Column(nullable=true, length=190)
*/
protected $status;

/**
* @Column
* @Column(length=190)
*/
protected $class;

Expand Down
12 changes: 8 additions & 4 deletions application/src/Entity/Media.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
* @Index(
* name="item_position",
* columns={"item_id", "position"}
* ),
* @Index(
* name="media_type",
* columns={"media_type"}
* )
* }
* )
Expand All @@ -21,12 +25,12 @@ class Media extends Resource
protected $id;

/**
* @Column
* @Column(length=190)
*/
protected $ingester;

/**
* @Column
* @Column(length=190)
*/
protected $renderer;

Expand All @@ -41,7 +45,7 @@ class Media extends Resource
protected $source;

/**
* @Column(nullable=true)
* @Column(nullable=true, length=190)
*/
protected $mediaType;

Expand All @@ -51,7 +55,7 @@ class Media extends Resource
protected $storageId;

/**
* @Column(nullable=true)
* @Column(nullable=true, length=190)
*/
protected $extension;

Expand Down
2 changes: 1 addition & 1 deletion application/src/Entity/Module.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ class Module extends AbstractEntity
protected $isActive = false;

/**
* @Column
* @Column(length=190)
*/
protected $version;

Expand Down
2 changes: 1 addition & 1 deletion application/src/Entity/Property.php
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ class Property extends AbstractEntity
protected $localName;

/**
* @Column
* @Column(length=190)
*/
protected $label;

Expand Down
2 changes: 1 addition & 1 deletion application/src/Entity/Resource.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
*
* @Entity
* @InheritanceType("JOINED")
* @DiscriminatorColumn(name="resource_type", type="string")
* @DiscriminatorColumn(name="resource_type", type="string", length=190)
* @Table(
* indexes={
* @Index(
Expand Down
2 changes: 1 addition & 1 deletion application/src/Entity/ResourceClass.php
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ class ResourceClass extends AbstractEntity
protected $localName;

/**
* @Column
* @Column(length=190)
*/
protected $label;

Expand Down
4 changes: 2 additions & 2 deletions application/src/Entity/ResourceTemplateProperty.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ class ResourceTemplateProperty extends AbstractEntity
protected $property;

/**
* @Column(nullable=true)
* @Column(nullable=true, length=190)
*/
protected $alternateLabel;

Expand Down Expand Up @@ -63,7 +63,7 @@ class ResourceTemplateProperty extends AbstractEntity
protected $isPrivate = false;

/**
* @Column(nullable=true)
* @Column(nullable=true, length=190)
*/
protected $defaultLang;

Expand Down
Loading
Loading