<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум ReadyScript &mdash; Миграции]]></title>
	<link rel="self" href="https://forum.readyscript.ru/feed/atom/topic/265/" />
	<updated>2015-01-19T08:34:55Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.readyscript.ru/topic/265/migratsii/</id>
		<entry>
			<title type="html"><![CDATA[Re: Миграции]]></title>
			<link rel="alternate" href="https://forum.readyscript.ru/post/907/#p907" />
			<content type="html"><![CDATA[<p>Да, для данной задачи в ReadyScript есть уникальное решение. Разработчику - никогда не нужно лезть в базу, чтобы добавлять или обновлять какие-либо поля в базе. </p><p>Вы просто изменяете описание Orm объектов. <br />Например с помощью обработки необходимого события в вашем модуле <br /><a href="http://readyscript.ru/dev-manual/dev_orm_objects.html#dev_orm_events">http://readyscript.ru/dev-manual/dev_or … orm_events</a></p><p>Потом заходите в раздел Веб-сайт-&gt;Настройка модулей. Выбираете ваш модуль и нажимаете &quot;Переустановить модуль&quot;. Установщик сам найдет все ORM объекты модуля и приведет структуру БД в соответствие с описанием ORM объекта.</p><p>То есть для синхронизации локальной версии сайта и удаленного сайта, <br />нужно просто перекинуть файл с классом ORM объекта, например product.inc.php на боевой сервер и &quot;Переустановить модуль&quot;, описанным выше образом.</p>]]></content>
			<author>
				<name><![CDATA[admin]]></name>
				<uri>https://forum.readyscript.ru/user/2/</uri>
			</author>
			<updated>2015-01-19T08:34:55Z</updated>
			<id>https://forum.readyscript.ru/post/907/#p907</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Миграции]]></title>
			<link rel="alternate" href="https://forum.readyscript.ru/post/902/#p902" />
			<content type="html"><![CDATA[<p>А как насчет структуры таблиц? Например мне на локале надо написать доп. модуль. Я вношу изменения в таблицу например ****_products, как мне эти изменения перенести на глобал? Можно сделать SQL запросами, но думаю на уровне Orm будет лучше. Присутствует ли в RS такой функционал и как его использовать?</p>]]></content>
			<author>
				<name><![CDATA[Дмитрий]]></name>
				<uri>https://forum.readyscript.ru/user/38/</uri>
			</author>
			<updated>2015-01-19T03:28:43Z</updated>
			<id>https://forum.readyscript.ru/post/902/#p902</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Миграции]]></title>
			<link rel="alternate" href="https://forum.readyscript.ru/post/901/#p901" />
			<content type="html"><![CDATA[<p>Для переноса данных с другого магазина, можно воспользоваться внешними инструментами, доступными в админ. панели (CSV). Если вы хотите произвести перенос данных на низком уровне (БД), то вам необходимо написать скрипт переноса данных. В фреймворке ReadyScript есть 2 уровня, на котором можно работать со вставками - БД:</p><p>1. Это уровень SQL запросов - класс \RS\Db\Adapter<br /></p><div class="codebox"><pre><code>\RS\Db\Adapter::sqlExec(&quot;INSERT INTO table(a,b) VALUES(&#039;#a&#039;, &#039;#b&#039;)&quot;, array(&#039;a&#039; =&gt; &#039;значение А&#039;, &#039;b&#039; =&gt; &#039;значение B&#039;));</code></pre></div><p>2. Это уровень ORM объектов.(<strong>рекомендуемый уровень</strong>). в данном случае вы будете оперировать понятием объект.<br />Например, если необходимо вставить товар, то вставка должна происходить так:<br /></p><div class="codebox"><pre><code>$product = new \Catalog\Model\Orm\Product;
$product[&#039;title&#039;] = &#039;Название товара&#039;;
$product[&#039;alias&#039;] = &#039;URL имя товара&#039;;
$product[&#039;xdir&#039;] = array(&#039;ID категории&#039;, &#039;ID другой категории, если нужно&#039;);
$product[&#039;xcost&#039;] = array(
   &#039;ID типа цен&#039; =&gt; &#039;Цена&#039;,
   &#039;ID типа цен2&#039; =&gt; &#039;Цена2&#039;
);
$product[&#039;maindir&#039;] = &#039;ID главной категории&#039;;
//...
if ($product-&gt;insert()) {
     //Товар добавлен, ID товара - $product[&#039;id&#039;];
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[admin]]></name>
				<uri>https://forum.readyscript.ru/user/2/</uri>
			</author>
			<updated>2015-01-18T12:28:22Z</updated>
			<id>https://forum.readyscript.ru/post/901/#p901</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Миграции]]></title>
			<link rel="alternate" href="https://forum.readyscript.ru/post/900/#p900" />
			<content type="html"><![CDATA[<p>Собственно вопрос. Как делаются миграции вашим фреймворком (бд)?<br />-- Прошу извинить, не в ту ветку запостил</p>]]></content>
			<author>
				<name><![CDATA[Дмитрий]]></name>
				<uri>https://forum.readyscript.ru/user/38/</uri>
			</author>
			<updated>2015-01-17T10:15:27Z</updated>
			<id>https://forum.readyscript.ru/post/900/#p900</id>
		</entry>
</feed>
