it-swarm-eu.dev

Jak vymažu všechny uzly, jak resetuji ID uzlu tak, aby začalo znovu od 1?

Pro testování jsem vygeneroval tuny figuríny a všechny jsem je odstranil. Protože nid je automatický přírůstek, nově vytvořený uzel bude mít nid naposledy vytvořeného nid +1.

Jak mohu donutit nid začít znovu od 1?

17
gilzero

Plase zkrátí tabulku uzlů právě tak, jako jsou tabulky spojené s tabulkou uzlů, jako jsou node_revisions, sekvence, tabulky polí, tabulky taxonomie a mnoho dalších.

Neexistuje žádný bezpečný způsob, jak to udělat, záleží to na vašem webu, budete muset zkrátit a upravit všechny tabulky, které mají nid včetně tabulky sekvencí. Pamatujte, že je vysoce pravděpodobné, že váš web bude nepoužitelný, takže nezačínejte nejdříve bez zálohy.

13
Luis
ALTER TABLE `node` AUTO_INCREMENT = 1;

P.S - Ostatní, kteří odpověděli na tuto otázku: Právě jsem provedl malou kontrolu po smazání obsahu a související obsah je skutečně smazán, node_revisions a field_ * tabulky jsou prázdné. node_delete říká totéž - http://api.drupal.org/api/drupal/modules--node--node.module/function/node_delete_multiple/7

Někdy na migračních projektech, když migrujete z jiných platforem (např. ASP + MSSQL), se někdy stane nevyhnutelným resetovat nid kvůli mnoha faktorům. Jsem si jist, že by se tomu dalo zabránit, ale čas/code tradeoff je vždy k dispozici.

16
Dipen

Dotaz SQL: ALTER TABLE 'node' AUTO_INCREMENT=1;

Než to provedete, ujistěte se, že jste smazali všechny uzly.

2
beeleg

Modul Smazat vše můžete použít s následujícími příkazy drush:

Drupal 7

Odstraňte uzly všech typů a resetujte počitadla uzlů, revizí a komentářů.

drush delete-all --reset

Drupal 8

viz zde

Odstraní veškerý obsah všech typů.

drush delete-all-delete-content

A pak:

ALTER TABLE `node` AUTO_INCREMENT=1;
ALTER TABLE `node_revision` AUTO_INCREMENT=1;
ALTER TABLE `node_field_data` AUTO_INCREMENT=1;
ALTER TABLE `node_field_revision` AUTO_INCREMENT=1;
2
schneidolf

můžete zkrátit tabulku uzlů, ale věnujte pozornost, musíte zkrátit tabulku relačních polí, pokud chcete pouze spustit ID přírůstku od 1, můžete použít

ALTER TABLE  `node` AUTO_INCREMENT=1
0
shahab