Poniższa funkcja znajduje się w pliku log_procesu.install jako część niestandardowego modułu o nazwie log_procesu. Moduł działa, jeśli ręcznie utworzyłem tabelę bazy danych, ale oczywiście chciałbym, aby tabela była tworzona automatycznie podczas instalacji.
Sama funkcja nie generuje błędu schematu podczas instalowania modułu. Ale nie tworzy też tabeli bazy danych rejestr_loginu_rejestr w bazie danych Drupal 7 MySQL.
Nie widzę żadnych innych błędów ani problemów zgłaszanych przez raport witryny.
Usunąłem go całkowicie i wielokrotnie instalowałem. Dokładnie przeszukałem Internet i zapoznałem się z dwiema książkami na temat rozwoju Drupala. Nie widzę nic złego w tej funkcji (wymienionej poniżej).
UWAGA: Próbowałem również zdefiniować „id” jako serial, ale otrzymałem ten sam wynik (tj. Nie utworzono tabeli).
Skończyło mi się pomysły. Czy ktoś wie, dlaczego ta funkcja nie działa?
function process_login_schema(){
$schema['process_login_register'] = array(
'description' => 'Register a specific computer with the system.',
'fields' => array(
'id' => array(
'description' => 'Primary identifier.',
'type' => 'int',
'unsigned' => TRUE,
'size' => 'normal',
'not null' => TRUE,
'default' => 0,
),
'ip' => array(
'description' => "The user's IP address at registration.",
'type' => 'varchar',
'length' => 32,
'not null' => TRUE,
'default' => '',
),
'user_agent' => array(
'description' => "The user's browser user agent string at registration.",
'type' => 'varchar',
'length' => 255,
'not null' => TRUE,
'default' => '',
),
),
'primary key' => array('id'),
);
return $schema;
}
hook_enable(). Instalowanie modułu można wykonać dopiero po jego odinstalowaniu (za pomocą karty odinstalowywania lub devel / reinstall), po czym wszystkie tabele utworzone przez moduł są usuwane. Po zainstalowaniu modułu hook_install()uruchom go tak, jak można się spodziewać



