After upgrade to Drupal 6 I experienced this kind of problems with the search index tables such as search_node_link, search_dataset (and one more that I don't remember at the moment). It might be related to that in Drupal 5 I was using trip_search module, not the standard search.

Anyway I decided that I didn't value the existing index, don't mind it to be recreated and dropped the tables hoping that the search module will recreate them with the correct structure on uninstall-install. It didn't. Naturally search doesn't function anymore and if I install the module I get plenty of warnings telling that seacrh_dataset table doesn't exist.

The question:
How do I make search module create the tables it needs?
Or at least where could I get the SQL needed to create such tables manually?

Thank you for your attention.

Comments

p6’s picture

You can find the SchemaAPI structure at - modules/search/search.install

- Pavan Keshavamurthy
http://grahana.net/

- Pavan Keshavamurthy
http://grahana.net/

Artem’s picture

I am not at my PC at the moment, but I think I remember that file and I think the schema is specified not as SQL. How do I make it actually create tables?

And a bit unrelated question: if tables are indeed specified in the .install file, why aren't they recreated, when I am reinstalling the module?

Thank you

Artem’s picture

The simplest way happened to be to create a node using "PHP code" input format with the following text and then "preview" it.

print (drupal_install_schema('search')); 

I guess it was impossible to reinstall scheme by running update.php, because search module is part of a "system" and not the "individual separate" module.