<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog de Thomas ZILLIOX &#187; Base de données</title>
	<atom:link href="https://blog.developpez.com/thomas-zilliox/pcategory/web/cms/ez-publish/base-de-donnees/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/thomas-zilliox</link>
	<description></description>
	<lastBuildDate>Tue, 07 Aug 2012 17:24:03 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>Réparer la BDD d&#8217;eZ Publish</title>
		<link>https://blog.developpez.com/thomas-zilliox/p9818/web/reparer_ez_publish</link>
		<comments>https://blog.developpez.com/thomas-zilliox/p9818/web/reparer_ez_publish#comments</comments>
		<pubDate>Fri, 18 Mar 2011 12:00:00 +0000</pubDate>
		<dc:creator><![CDATA[tzilliox]]></dc:creator>
				<category><![CDATA[Base de données]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[eZ Publish]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[J&#8217;ai réussi à mettre eZ Publish dans un état instable. J&#8217;avais quelques objets sans nœuds associés, ce qui provoque des comportements bizarres. J&#8217;avais alors corrigé ma BDD à la main. Mais suite à la rédaction de cet article, Alexandre SEBBANE m&#8217;a fait remarqué la présence du script bin/php/flatten.php. Ce script a pour but de supprimer de la BDD les informations non utilisées. Il peut s&#8217;agir des contentobject, contentclass, workflow, role ou de tout. Pour nettoyer [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>J&rsquo;ai réussi à mettre eZ Publish dans un état instable.<br />
J&rsquo;avais quelques objets sans nœuds associés, ce qui provoque des comportements bizarres.<br />
</p>
<p>J&rsquo;avais alors corrigé ma BDD à la main. Mais suite à la rédaction de cet article, <a href="http://twitter.com/#!/alexsebbane">Alexandre SEBBANE</a> m&rsquo;a fait remarqué la présence du script <strong>bin/php/flatten.php</strong>.<br />
Ce script a pour but de supprimer de la BDD les informations non utilisées. Il peut s&rsquo;agir des contentobject, contentclass, workflow, role ou de tout.</p>
<p>Pour nettoyer les objets sans nœuds associés, il faudrait essayer la ligne de commande ci-dessous.<br />
Par contre, vous allez supprimer toutes les anciennes versions des objets publiés et les brouillons encore non-publiés :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">bin/php/flatten.php -s admin contentobject</div></div>
<p></p>
<p>Si ça ne marche pas, vous pouvez toujours faire comme moi. Exécutez plusieurs fois la commande SQL ci-dessous pour supprimer les nœuds sans parent :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">DELETE FROM ezcontentobject_tree WHERE parent_node_id NOT IN <br />
&nbsp; &nbsp; ( SELECT * FROM <br />
&nbsp; &nbsp; &nbsp; &nbsp; (SELECT node_id FROM ezcontentobject_tree)<br />
&nbsp; &nbsp; tmp );</div></div>
<p>Puis exécutez les commandes SQL ci-dessous pour supprimer les objets qui n&rsquo;ont pas de nœuds associés :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">DELETE FROM ezcontentobject_attribute WHERE contentobject_id NOT IN <br />
&nbsp; &nbsp; (SELECT contentobject_id FROM ezcontentobject_tree);<br />
DELETE FROM ezcontentobject_version WHERE contentobject_id NOT IN <br />
&nbsp; &nbsp; (SELECT contentobject_id FROM ezcontentobject_tree);<br />
DELETE FROM ezcontentobject_name WHERE contentobject_id NOT IN <br />
&nbsp; &nbsp; (SELECT contentobject_id FROM ezcontentobject_tree);<br />
DELETE FROM ezcobj_state_link WHERE contentobject_id NOT IN <br />
&nbsp; &nbsp; (SELECT contentobject_id FROM ezcontentobject_tree);<br />
DELETE FROM ezcontentobject WHERE id NOT IN <br />
&nbsp; &nbsp; (SELECT contentobject_id FROM ezcontentobject_tree);<br />
DELETE FROM eznode_assignment WHERE contentobject_id NOT IN <br />
&nbsp; &nbsp; (SELECT contentobject_id FROM ezcontentobject_tree);<br />
DELETE FROM ezcontentobject_link WHERE from_contentobject_id NOT IN <br />
&nbsp; &nbsp; (SELECT contentobject_id FROM ezcontentobject_tree);<br />
DELETE FROM ezcontentobject_link WHERE to_contentobject_id NOT IN <br />
&nbsp; &nbsp; (SELECT contentobject_id FROM ezcontentobject_tree);<br />
DELETE FROM ezcontentobject_trash WHERE contentobject_id NOT IN <br />
&nbsp; &nbsp; (SELECT contentobject_id FROM ezcontentobject_tree);</div></div>
<p>Ce n&rsquo;est pas une solution propre, mais ça peut dépanner.<br />
</p>
<p>Pour éviter ce genre de soucis, prennez l&rsquo;habitude de faire <a href="http://blog.developpez.com/thomas-zilliox/p10151/web/sql/faire-un-dump-mysql/">des sauvegarder régulières de vos BDD</a> <img src="https://blog.developpez.com/thomas-zilliox/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /></p>
<p>En espérant que ça puisse vous aider,<br />
Thomas.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Problèmes après avoir supprimé un user eZ Publish</title>
		<link>https://blog.developpez.com/thomas-zilliox/p9796/web/si_on_a_supprime_un_user_ez_publish</link>
		<comments>https://blog.developpez.com/thomas-zilliox/p9796/web/si_on_a_supprime_un_user_ez_publish#comments</comments>
		<pubDate>Fri, 29 Jul 2011 19:00:00 +0000</pubDate>
		<dc:creator><![CDATA[tzilliox]]></dc:creator>
				<category><![CDATA[Base de données]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[eZ Publish]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Pour les versions d&#8217;eZ Publish inférieur à 4.4.1, il fallait éviter de supprimer un utilisateur eZ Publish. Même supprimé, tous les contenus qu&#8217;il a publié lui font encore référence. Ceci pose quelques problèmes dans le Back Office d&#8217;eZ Publish. Par exemple, l&#8217;interface n&#8217;arrive plus à lister les sous-éléments. C&#8217;est pour cela qu&#8217;il valait mieux désactiver un utilisateur que le supprimer. Si c&#8217;est trop tard et qu&#8217;il est supprimé, comme ça m&#8217;est arrivé, on peut réparer [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Pour les versions d&rsquo;eZ Publish inférieur à 4.4.1, il fallait éviter de supprimer un utilisateur eZ Publish.<br />
Même supprimé, tous les contenus qu&rsquo;il a publié lui font encore référence.<br />
Ceci pose quelques problèmes dans le Back Office d&rsquo;eZ Publish. Par exemple, l&rsquo;interface n&rsquo;arrive plus à lister les sous-éléments.<br />
C&rsquo;est pour cela qu&rsquo;il valait mieux désactiver un utilisateur que le supprimer.</p>
<p>Si c&rsquo;est trop tard et qu&rsquo;il est supprimé, comme ça m&rsquo;est arrivé, on peut réparer sa BDD.<br />
On peut le faire à la main, il suffit de réassocier tous les contenus crées par des utilisateurs supprimés.</p>
<p>Voici les requêtes SQL à exécuter :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">UPDATE ezcontentobject SET owner_id=14 WHERE owner_id NOT IN <br />
&nbsp; &nbsp; (SELECT contentobject_id FROM ezuser); <br />
UPDATE ezcontentobject_version SET creator_id=14 WHERE creator_id NOT IN <br />
&nbsp; &nbsp; (SELECT contentobject_id FROM ezuser);</div></div>
<p>Ici, 14 représente l&rsquo;id de votre utilisateur admin.</p>
<p>En espérant que ça puisse vous aider,<br />
Thomas.</p>
<p>Edit: Merci à <a href="http://twitter.com/dpobel">Damien POBEL</a> pour m&rsquo;avoir montré que le bug était désormais corrigé.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
