Sponsored Links |
|
||||
Naja, mit "SHOW TABLES" kannst Du Dir die Tabellen einer Datenbank auflisten lassen und mit "EXPLAIN `tabellen_name`" kannst Du Dir Informationen über die Spalten holen.
Die Befehle, um Tabellen zu erstellen/bearbeiten/löschen dürften ja bekannt sein. Weiß jetzt leider nicht genau, wo das Problem liegt, außer, dass es evtl. viel Arbeit ist. |
Sponsored Links |
|
||||
Zitat:
Aber die DB-Struktur ist bei beiden DBs die gleiche? Mit "keine bestimmte Anzahl von Tabellen" meinst du nur die Datensätze? |
|
||||
Ich meine Tabellen. Ich muss die Db mit dem/den Templates natürlich aufbauen, die Anzahl wird dann bestimmt von der Anzahl der Templates, den darin vorhandenen Navigationen und den Sprachen die verwendet werden.
Deshalb verbeiße ich mich in einen Automatismus, um mir noch mehr Arbeit zu ersparen - was ja der Sinn eines CMS sein soll. Um Diskussionen vorzubeugen: Mein System wurde geschaffen im Zuge der Planung eines Jugendprojektes. Worum es da genau geht will ich noch nicht allzu sehr raushängen, da grade ein Verfahren zum rechtlichen Schutz dafür läuft (teuer ). Sinn des ganzen ist, das ich mit 2 DB eine sehr strikte Trennung bewirken kann, da nur der Admin (also ich und die zuständigen Lehrer) die überarbeitete Seite veröffentlichen kann. Es handelt sich dabei um Kinder der 8 Stufe - also pupertären Halbstarken und ziemlich ungenierte Zicken (nein - ich mag Kinder/Halberwachsene sogar sehr, deshalb erlaube ich mir diese Beurteilung), wer weiß was denen so einfällt wenn sie freie Hand kriegen? |
|
||||
Mit "DB-Struktur" meine ich die Struktur der einzelnen Tabellen (Anzahl Spalten, Feldnamen, Feldtypen, Indizes, ...)
Oder anders ausgedrückt: Wenn bei jeder Tabelle ein 'TRUNCATE' ausgeführt wird, bleiben dann zwei (strukturell) identische Datenbanken übrig? Falls es nämlich strukturelle Unterschiede zwischen den beiden Datenbanken gibt, dann wird eine Datenmigration um einiges aufwändiger. Daher mein erster Tip: Schaffe eine strukturelle Einheit zwischen den DBs. Geändert von Curtains (12.09.2008 um 16:09 Uhr) |
|
||||
Dumme Fragen fibt es nicht, nur dumme Antworten.
Ja, ich meine 132 Tabellen in einer DB. Schlimm? Das ist einfach so passiert, da ich immer bei jedem Ausbau die alte Struktur mitgeschleppt habe. Da jedes Template eine völlig andere Navígationsstruktur und anderen Inhalt als das haupttemplate haben kann, ging es nicht anders. Allerdings gibt es natürlich die Möglichkeit mehrere Templates mit ein und demselben Inhalt zu verwalten, dann sind es rund 18 Tabellen. Das heißt, wenn ein Template in einer Sprache aktiv ist, wird auch nur auf die zugehörigen Tabellen zugegriffen - aber das ist logisch. natürlich ist die Struktur der beiden Datenbanken völlig identisch. BTT: @Mantiz: Ich habe es noch nicht versucht, aber mal im Inet gesucht. Wenn Di Verbindung steht, reicht ein einfaches: PHP-Code:
Geändert von paracelsus (12.09.2008 um 21:11 Uhr) |
|
||||
Sorry, bin leider erst gerade wieder nach Hause gekommen. :-/
Ja, so erhälst Du eine Liste der Tabellen der aktuell gewählten Datenbank. Mit dieser Liste könntest Du jetzt daher gehen und z.B. die Struktur auslesen (EXPLAIN TABLE) und diese Struktur dann übertragen. Ich habe das in dem Zusammenhang gepostet, dass ich annahm, dass die redaktionelle Datenbank evtl. Tabellen haben könnte, die in der öffentlichen Datenbank noch nicht existieren, in dem Fall müssten die Tabellen natürlich erstmal angelegt werden. Wenn die Strutktur sowieso die gleiche ist, dann reicht es ja die entsprechenden Tabelle zu leeren und die neuen Datensätze einzufügen. Aber auch hier könnte man ein Export/Import-Script schreiben, welches einfach alle Tabelle ausliest, diese exportiert, so dass man auf Import-Seite nur noch ein SQL-Script hat, welches man laufen lassen muss. Oder hab' ich Dich evtl. falsch verstanden? |
Sponsored Links |
|
||||
Nein, Du hast richtig verstanden.
Ich stelle mir das so vor: Ich lese wie oben aus, und setze dann innerhalb der while ein weiteres Statement ab: Code:
INSERT INTO 'Tabelle in der öffentlichen DB' SELECT * FROM `Tabelle in der redaktionellen DB` ; Ich starte am Anfang des scriptes mit einem Funktionsaufruf (nein keine Klasse ) connect(1); die Verbindung zur redaktionellen. Nun bräuchte ich aber innerhalb der while auch eine weitere Verbindung. Oder ich lade alles im Ablauf in ein Array (das kann aber riesig werden) und lass dann noch ein foreach unter der anderen Verbindung über dieses laufen. Hmmmm. |
Sponsored Links |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Redesign für Steiner Cycling Team | pkipper | Site- und Layoutcheck | 11 | 09.02.2011 13:25 |
Eine DB.Tabelle in eine andere DB.Tabelle kopieren | paracelsus | Serveradministration und serverseitige Scripte | 14 | 23.10.2007 18:47 |
Tabellen oder andere Art der Darstellung? | badfish | CSS | 0 | 15.11.2006 16:52 |