[support] shared tables for multisite

Jeremy Epstein jazepstein at gmail.com
Wed Sep 27 08:45:42 UTC 2006


Be very careful about sharing the 'sequences' table. If you share this
table, then you are sharing the generation of IDs of ALL types (for
many, but not all, drupal entities) across all your sites. That is, if
you share the sequences table but not your node tables, then you will
be 'losing' a lot of nids (I guess this could be regarded as a good
thing or a bad thing - either way, it's probably not a major thing).

The trouble is, if you DON'T share the 'sequences' table, then you
will only be able to create users on one site, and not on any of the
others. That is, you will have to disable user registration on all
sites but one. If you don't, then you will get SQL 'duplicate entry'
errors, and you will have UID conflicts, and there will be user
accounts that never actually get created.

IMO, the solution to all of this is to ditch the 'sequences' table
altogether, and to just rely on database generation of IDs (i.e.
auto_increment or equivalent).

Cheers,
Jeremy.

On 9/27/06, Anisa <mystavash at animecards.org> wrote:
> OK.  Let's say you only want to share users across a multisite installation.
>  In a plain Drupal installation, are these the only tables you need to
> share? (copied from the single signon module)
>
>  * 'default' => 'somesitename_',
>  * 'authmap' => 'shared_',
>  * 'profile_fields' => 'shared_',
>  * 'profile_values' => 'shared_',
>  * 'role' => 'shared_',
>  * 'sequences' => 'shared_',
>  * 'sessions' => 'shared_',
>  * 'users' => 'shared_',
>  * 'users_roles' => 'shared_',
>  * 'users_uid_seq' => 'shared_', // for pgsql
> Anisa.
>
>


More information about the support mailing list