Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Modul-Entwicklung ›

SQL in .install schreiben

Eingetragen von Apfel007 (143)
am 04.09.2008 - 11:20 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hallo zusammen,

bin gerade dabei mein erstes Modul zu schreiben und zu verstehen:-)
Kann mir jemand sagen, wie ich diesen Code in die .install einsetze.. - muß ich in der .modul die .install aufrufen, oder geschieht das automatisch?

<?php
db_query
("CREATE TABLE privatcontent (
nid int(10) unsigned NOT NULL default '0' PRIMARY KEY,
private int,
KEY `node_privatcontent _nid` (nid)
)
?>

Meine .install:

<?php
function privatcontent_schema() {
 
$schema['privatcontent'] = array(
  .....???
  ???? 
'nid' => array(
       
'type' => 'int',
       
'unsigned' => TRUE,
       
'not null' => TRUE,
       
'default' => 0,
 
    
// specification for mytable1
 
);
 
  return
$schema;
}

function
privatcontent_install() {
 
// Create my tables.
 
drupal_install_schema('privatcontent');
}

function
mymodule_uninstall() {
 
// Drop my tables.
 
drupal_uninstall_schema('privatcontent');
}
?>

Gruß Apfel007

‹ Empfehlungen geeigneter Tutorials und/oder Bücher zur Modulentwicklung unter Drupal 6.x Login Status ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Modulentwicklung

Eingetragen von stBorchert (6003)
am 04.09.2008 - 13:37 Uhr

Moin!
Auf drupal.org findest Du ein komplettes Tutorial zur Modulentwicklung (drupal 6.x). Allerdings ist dort nicht näher beschrieben, wie .install-Dateien erstellt werden, dafür gibt es jedoch eine Seite im Tutorial für drupal 5.x.

Der Aufruf der Installations-Routinen erfolgt übrigens automatisch beim Installieren (bzw. beim Update) des Moduls.

hth,

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Error

Eingetragen von Apfel007 (143)
am 05.09.2008 - 11:00 Uhr

Hallo zusammen,

wenn ich die .install so schreibe bekommen ich diesen Fehler. Wer kann mir einen Tip geben?
Gruß Apfel007

<?php
<?php
// $Id: privatcontent.install,v 1.0 2008/09/04 01:27:07 Rav Exp $


/**
* Implementation of hook_schema().
*/
function privatcontent_schema() {
$schema['privatcontent'] = array(
'fields' => array(
'nid' => array(
'type' => 'int',
'unsigned' => TRUE,
'default' => '0',
'not null' => TRUE,
),
'private' => array(
'type' => 'int',
),
'indexes' => array(
'privatcontent_nid' => array('nid'),
),
),
'primary key' => array('nid'), 
  );
return
$schema;
}
function
privatcontent_install() {
 
// Create my tables.
 
drupal_install_schema('privatcontent');
}

function
privatcontent_uninstall() {
 
// Drop my tables.
 
drupal_uninstall_schema('privatcontent');
}
?>

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DEFAULT NULL, PRIMARY KEY (nid) ) /*!40100 DEFAULT CHARACTER SET UTF8 */' at line 4 query: CREATE TABLE privatcontent ( `nid` INT unsigned NOT NULL DEFAULT '0', `private` INT DEFAULT NULL, `indexes` DEFAULT NULL, PRIMARY KEY (nid) ) /*!40100 DEFAULT CHARACTER SET UTF8 */ in F:\xampp\htdocs\drupal02\includes\database.inc on line 509.

  • Anmelden oder Registrieren um Kommentare zu schreiben

indexes

Eingetragen von stBorchert (6003)
am 05.09.2008 - 11:09 Uhr

Moin!
Indexes muss aus dem "fields"-Array raus (bitte besser formatieren, dann sieht man das auch).

$schema['privatcontent'] = array(
  'fields' => array(
    'nid' => array(
      'type' => 'int',
      'unsigned' => TRUE,
      'default' => '0',
      'not null' => TRUE,
    ),
    'private' => array(
      'type' => 'int',
    ),
  ),
  'indexes' => array(
    'privatcontent_nid' => array('nid'),
  ),
  'primary key' => array('nid'),
);

hth,

 Stefan

PS: Schema API

  • Anmelden oder Registrieren um Kommentare zu schreiben

Tabellen anlegen

Eingetragen von Apfel007 (143)
am 05.09.2008 - 12:51 Uhr

Hi Stefan,

danke für den Hinweis, aber die Tabelle wird immer noch nicht angelegt..??
dies hier sollte doch das anlegen übernehmen - oder? oder fehlt da noch etwas?

<?php
function privatcontent_install() {
  
drupal_install_schema('privatcontent');
}
?>

Der Tabellenname wird ja so/hier dargestellt: $schema['privatcontent'] ????

Gruß Kai

  • Anmelden oder Registrieren um Kommentare zu schreiben

Schema

Eingetragen von stBorchert (6003)
am 05.09.2008 - 13:01 Uhr
Apfel007 schrieb

dies hier sollte doch das anlegen übernehmen...

Hm, prinzipiell schon. http://drupal.org/node/146862 kennst Du? Da ist ein Beispiel für ein Schema und hook_install().

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

kenne ich

Eingetragen von Apfel007 (143)
am 05.09.2008 - 13:03 Uhr

jawohl kenne ich bin danach vorgegangen..

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Ресурс frankifiranki.space — є локальний інформаційний портал Івано-Франківська та Прикарпаття
  • Canvas Palette: Eine fertige Komponentenbibliothek für Drupal Canvas
  • Hilfe zu Updates oder Composer
  • Vergleich Drupal und Contao
  • [geloest] Blocks in Bootstrap nebeneinander darstellen und nicht untereinander
  • DrupalCamp Frankfurt 27-28 November 2026
  • Bitte mein Bentzerkonto löschen
  • Beim Aufruf einiger Inhalte erhalte ich folgende Fehlermeldung
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
Weiter

Neue Kommentare

  • Danke ich werde mir die
    vor 12 Stunden 21 Minuten
  • anyone has a working Betaflight mirror right now?
    vor 2 Tagen 7 Stunden
  • Vielen Dank für Ihren
    vor 2 Tagen 12 Stunden
  • Composer ist sehr ratsam
    vor 4 Tagen 11 Stunden
  • Vielen Dank für den
    vor 6 Tagen 21 Stunden
  • Die alten CMS Vergleiche von contentmanager.de
    vor 1 Woche 9 Stunden
  • Gut gemacht
    vor 1 Woche 10 Stunden
  • Layout Builder etc. z.B. für Landing Pages
    vor 1 Woche 10 Stunden
  • Links
    vor 1 Woche 3 Tagen
  • Moin,wow, sehr gutes
    vor 1 Woche 4 Tagen

Statistik

Beiträge im Forum: 250316
Registrierte User: 20561

Neue User:

  • Firanelign
  • rofilm
  • Cruzorerm

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 15 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association