Nem drupal-adatbázis importálása drupal alá

lazar képe

Drupál alá helyeznék egy működő honlapot. Egyedüli problémám az adatbázis áthelyezése. Hasonlítgatom egy drupal-adatbázissal, de nem igazán tudom hogy lással hozzá.
A jelenlegi adatbázisból úgy gondolom egyetlen táblára van szükség, ami 20 ezer írást tartalmaz. Ez a news tábla, szerkezete pedig:

Mező Típus Egybevetés Tulajdonságok Null Alapértelmezett Extra Parancs
Mező Típus Egybevetés Tulajdonságok Null Alapértelmezett Extra Parancs
idnew int(10) Nem auto_increment Különböző értékek böngészése Változtat Eldob Elsődleges Egyedi Index Fulltext
idfeed int(10) Nem 0 Különböző értékek böngészése Változtat Eldob Elsődleges Egyedi Index Fulltext
idbox int(5) Nem 0 Különböző értékek böngészése Változtat Eldob Elsődleges Egyedi Index Fulltext
idcat tinyint(4) Nem 0 Különböző értékek böngészése Változtat Eldob Elsődleges Egyedi Index Fulltext
idprovider int(5) Nem 0 Különböző értékek böngészése Változtat Eldob Elsődleges Egyedi Index Fulltext
title varchar(254) utf8_general_ci Nem Különböző értékek böngészése Változtat Eldob Elsődleges Egyedi Index Fulltext
content text utf8_general_ci Nem Különböző értékek böngészése Változtat Eldob Elsődleges Egyedi Index Fulltext
link varchar(254) utf8_general_ci Nem Különböző értékek böngészése Változtat Eldob Elsődleges Egyedi Index Fulltext
added date Nem 0000-00-00 Különböző értékek böngészése Változtat Eldob Elsődleges Egyedi Index Fulltext
ladded int(10) Nem 0 Különböző értékek böngészése Változtat Eldob Elsődleges Egyedi Index Fulltext
mdh ....

Ezekből ami szükeéges az idnews, title, content.

Szóval itt megáll a tudomány, nem tudom mit hogyan hova:( A node és node_revision táblákba kellene importálnom, de nem igazán tudom hogyan. A lényeg, hogy a végeredmény legyen egy olvasható cikk, címmel ellátva - így megmentem a google linkeket.
Vázlatosan le tudja-e írni valaki?

Drupal verzió: 
Fórum: 
lazar képe

Azt kifelejtettem, hogy az írások kategóriákoz kötődnek. Vagyis a jelenlegi oldalon így néz ki egy link: domain.tld/kategoria/cikkcim. Ezeket szeretném megmenteni, hogy a pathaliassal ugyanilyeneket alakítsak ki - ha lehet...

0
0
wildface86 képe

screenshotot tudnál dobni ennek a táblának az egyik soráról?

0
0
szantog képe

Minek szerencsétlenkedni a db-vel?
Export db->csv, kihányni a nem kellő sorokat, majd import
Az adatbázisban való ilyen mélységű turkálásból nem lesz semmi jó.

0
0

----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.

lazar képe

Ez működőképes lenne - sajnos kb 20 ezer cikkről van szó, és szinte mindegyiket tisztítani kellene, mert így másból csinál címet (a szöveg elég piszkos). De jó tudni ezt a megoldást :)

0
0
szantog képe

????
Ha a title mezőben van a cím, és a content mezőben a body, akkor nem tud keveredni. A többi oszlopot meg ki kell vágni a táblából, importnál megadni, hogy a Cím a title, a törzs a content, és kimenni rágyújtani.
Ha pedig úgy érted, hogy piszkos a tábla, hogy vannak olyan mezők, amiknek a nincsenek értékei, így a csv oszlopai elcsúsznak, akkor egy kis sql varázslással fel lehet tölteni a hiányzó mezőket: http://www.w3schools.com/sql/sql_update.asp

0
0

----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.

aboros képe

lent van a beszt prektisz megoldás, migrate modul.

0
0

-
clear: both;

danyg képe

Szia,

nálunk ez elég gyakori jelenség, hogy korábbi oldalról adatok átvétele szükséges az induláshoz. Javasolt egy migrációs modult írni hozzá, amely az adatbázis sorokat szépen összeállítja node-nak, majd a node_save() függvénnyel elmented.

0
0
lazar képe

na ez még magas nekem, úgyhogy kénytelen leszek megbízni valakit vele... A kapcsolat űrlapot pedig nem tetted elérhetővé, így privátot nem tudok küldeni :)

0
0
dj képe

<?php
// Kell egy idnews CCK text field a tartalomtípusba aminek a neve field_idnews
 
function "modulod_neve"_node_operations() {
  // A tartalom adminisztrációs űrlaphoz hozzáad egy "Adat import" menüpontot
  $operations = array(
	'adatimport' => array(
	'label' => 'Adat import',
	'callback' => '"modulod_neve"_import_data',
	),
    );
    return $operations;
}
 
function "modulod_neve"_import_data() {
  // érdemes az import idejére betenni a drupal adatbázisba a táblát amiből importálunk
  $q=db_query("SELECT idnews, title, content, link FROM regi_tabla");
  while ( $sor = db_fetch_array( $q ) ) {
    "modulod_neve"_node_mentes( $sor );
  }
}
 
 
function "modulod_neve"_node_mentes( $sor ) {
  // ha akarsz akkor ide még beépíthetsz egy idnews ellenőrzést, ha van ilyen idnews akkor mehet a következőre
  $node = new StdClass();
  $node->type = 'tartalom_típusod_neve';
  $node->title = $sor['title'];
  $node->body = $sor['content'];
  $node->field_idnews[0]['value'] = $sor['idnews'];
  // ami nem kell eltűnteted a $sor['link'] elejéről
  $link = strstr( 'domain.tld/', $sor['link'] );
  $node->link = $link;
  node_save($node);
}
?>

Nem teszteltem csak egy váznak írtam.

0
0

Üdv!
Dudás József

zserno képe

A legprofibb megoldas jelenleg a Migrate es kiegeszitoinek hasznalata. Reszletes leiras: http://www.lullabot.com/articles/drupal-data-imports-migrate-and-table-w...
Tobb drupalcon/drupalcamp eloadas temaja is volt mar. Ha rakeresel talalsz videokat is roluk.

Sot, Moshe-ek egy kulon ceget is alapitottak e modulok kore, szoval probald ki, ajanlom.

0
0