[development] how to run new .install on installed module
tjfulopp at gmail.com
Fri Jan 9 11:48:24 UTC 2009
Thanks, guys; I've successfully solved that using hook_update_N now.
On Fri, Jan 9, 2009 at 10:22, andrew morton <drewish at katherinehouse.com>wrote:
> On Fri, Jan 9, 2009 at 12:51 AM, Tomáš Fülöpp <tjfulopp at gmail.com> wrote:
> > Hi,
> > Probably a simple problem but I don't find solution on d.o.
> > I have a D6 contrib module that did not use database before, but now it
> > does. The problem is that even though a .install file has been added, the
> > database is not created in case the older version of the module is
> > already, not even after running /update.php.
> > http://drupal.org/node/323314 explains that ".install file is run the
> > time a module is enabled" -- but how to make sure the initial database is
> > installed on an existing module? Is the only solution to solve it via
> > hook_update_N, detecting whether the table exists, and installing it --
> > though in fact we are installing, not updating?
> If you're addin a database to an existing module then you need to
> define it in hook_install() for new sites and also in hook_update_N()
> for sites that have already installed. If you think that they might
> have the table installed for some reason then by all means call
> db_table_exists() and check first. Also be aware that implementations
> of hook_update_N() should *not* call hook_schema(). You need to have a
> copy of the schema in the update function.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the development