<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум ReadyScript &mdash; Ограничение длинны поля servername таблицы images]]></title>
	<link rel="self" href="https://forum.readyscript.ru/feed/atom/topic/248/" />
	<updated>2014-12-24T12:08:02Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.readyscript.ru/topic/248/ogranichenie-dlinny-polya-servername-tablitsy-images/</id>
		<entry>
			<title type="html"><![CDATA[Re: Ограничение длинны поля servername таблицы images]]></title>
			<link rel="alternate" href="https://forum.readyscript.ru/post/850/#p850" />
			<content type="html"><![CDATA[<p>servername - это же внутреннее поле нашей системы, мы туда больше 25 символов никогда не записываем. В целях экономии пространства, которое будет занимать индекс MySQL и соответственно оптимизации, установлено данное ограничение.</p><p>Если вам необходим больший объем данного поля, вы все правильно сделали, что увеличили его индивидуально для себя.</p><p>Это можно сделать:<br />1. просто в базе, тогда это будет до первого обновления модуля &quot;Блок фотографий&quot;, <br />2. можно сделать с помощью дополнительного модуля <strong>(рекомендуемое решение)</strong>, и обработки в нем события инициализации ORM объекта Photo\Model\Orm\Image</p><p>Примерно таким обработчиком (handlers.inc.php):</p><div class="codebox"><pre><code>&lt;?php
namespace ВАШ_МОДУЛЬ\Config;

class Handlers extends \RS\Event\HandlerAbstract
{
    function init()
    {
        $this
            -&gt;bind(&#039;orm.init.photo-image&#039;);
    }

    /**
    * Модифицируем ORM объект - &quot;изображение&quot;
    * 
    * @param \Photo\Model\Orm\Image $image - объект &quot;изображение&quot;
    */
    public static function ormInitPhotoImage(\Photo\Model\Orm\Image $image)
    {
        $image-&gt;__servername-&gt;setMaxLength(255);
    }
}</code></pre></div><p>Не забудьте переустановить модуль &quot;Блок фотографий&quot; (ссылка в настройках модуля), после активации вашего стороннего модуля. Система в этом случае сама изменит длину поля в базе.</p><p>3. Можно сделать с помощью создания image.my.inc.php, у которого изменена длина поля в стандартном описании полей. (не рекомендуемый способ)</p>]]></content>
			<author>
				<name><![CDATA[admin]]></name>
				<uri>https://forum.readyscript.ru/user/2/</uri>
			</author>
			<updated>2014-12-24T12:08:02Z</updated>
			<id>https://forum.readyscript.ru/post/850/#p850</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Ограничение длинны поля servername таблицы images]]></title>
			<link rel="alternate" href="https://forum.readyscript.ru/post/845/#p845" />
			<content type="html"><![CDATA[<p>Собственно сабж, `servername` VARCHAR(25) - почему такое ограничение? Переносил изображения с стороннего движка и наткнулся на такое ограничение. Поставил костыль на 50 символов.</p>]]></content>
			<author>
				<name><![CDATA[Сергей  ]]></name>
				<uri>https://forum.readyscript.ru/user/94/</uri>
			</author>
			<updated>2014-12-24T03:53:19Z</updated>
			<id>https://forum.readyscript.ru/post/845/#p845</id>
		</entry>
</feed>
