Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Pas oude tabelstructuur query aan aan nieuwe tabelstructuur

Pagina: 1
Acties:

  • The Great HooD
  • Registratie: September 2009
  • Laatst online: 13-09-2014
Sorry voor de wat vage titel, vond het lastig om een goede titel te vinden

Ik ben op zoek naar een programma of applicatie waarmee ik mijn SQL query kan aanpassen.

Ik heb een oude website met een webshop. Het is allemaal vrij verouderd dus tijd voor een upgrade.
Een optie is om alles handmatig in te vullen in de webshop, maar met 3000+ producten ben ik daar zoveel tijd mee kwijt. Dus ik dacht, waarom niet gelijk injecten in de database.
Oude database geexporteerd en gekeken hoe de syntax en de tabellen opgebouwd waren. Na een half uurtje puzzelen heb ik via deze methode de eerste 3 succesvolle producten weten te injecteren.

Alleen nu komt de maar. Ik ben voor 3 producten een half uur bezig geweest omdat in de nieuwe webshop er meerdere tabellen nodig zijn voor bijvoorbeeld de prijs, beschrijving, naam, etc.
Nu vroeg ik me af of er niet een applicatie of website of wat dan ook is, waar ik kan aangeven hoe de oude tabllen zijn opgebouwd, en hoe hij deze kan klaarmaken voor de nieuwe tabllen, omdat ik dat dan ook aangeef. In principe zijn alle producten hetzelfde opgebouwd en is het een kwestie van invullen om de nieuwe tabelstructuur te verkrijgen.

Ik heb op Google me aardig suf gezocht, maar het probleem (wat ik ervaar) is dat de termen die ik wil gebruiken overeenkomen met de syntax van SQL. Hierdoor krijg ik dus alleen maar uitleg over hoe je die statement kunt gebruiken. Een voorbeeldje is bijvoorbeeld alter, replace, etc.

Daarom als laatste poging vraag ik het maar hier. Dit lijkt mij eigenlijk een probleem wat vaker voorkomt, al dan niet in een wat simpelere structuur. Kan iemand mij helpen?

  • kladblokje
  • Registratie: Juli 2009
  • Laatst online: 23:04
In principe kun je met SQL heel snel de gegevens overzetten. Een voorbeeld:

oude_tabel
idnaambeschrijvingprijs
1Product 1Beschrijving van Product 1.50
2Product 2Beschrijving van Product 2.100

nieuwe_tabel:
idonzinnaambeschrijvingmeerdataprijs

Als je deze SQL query uitvoert:
code:
1
insert into nieuwe_tabel (naam,beschrijving,prijs) select naam,beschrijving,prijs from oude_tabel

wordt de data in de nieuwe tabel gezet - de kolommen waar geen data voor is blijven leeg; de auto_increment waarde wordt automatisch aangemaakt.
idonzinnaambeschrijvingmeerdataprijs
1Product 1Beschrijving van Product 1.50
2Product 2Beschrijving van Product 2.100

In dit voorbeeld gaat alles van één tabel naar één andere tabel, maar ik hoop dat je begrijpt dat je de "select" op een willekeurige tabel kunt uitvoeren. Om een echt gericht antwoord te geven is het handiger als je de database structuur hier neerzet.

ps: doe dit soort dingen altijd in een backup/testomgeving voordat je met de live database in de weer gaat.

  • The Great HooD
  • Registratie: September 2009
  • Laatst online: 13-09-2014
Dank voor je reply!

Ja het is een beetje een lastige situatie. Op dit moment heb ik een MIcrosoft Database, via een programma geexporteerd naar SQL. De oude database is 1 tabel met alle waardes erin. In mijn nieuwe tabel (Virtuemart Webshop FYI) bestaan deze waardes in ongeveer 3 of 4 tabellen. Veel waardes in deze oude tabel worden dus individueel in de nieuwe tabellen geinjecteerd. Ik zal zsm de tabelsctructuur hier neerzetten.

Off course. Laat ik al die gegevens maar niet 3 jaar op een onbeveiligde server zetten :D

[ Voor 11% gewijzigd door The Great HooD op 09-07-2014 20:01 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

The Great HooD schreef op woensdag 09 juli 2014 @ 16:09:
Sorry voor de wat vage titel, vond het lastig om een goede titel te vinden
Het goeie forum vinden was blijkbaar ook lastig. ;) Waar hoort mijn topic?

WEB>>PRG

Wat betreft je vraag: het lijkt me sterk dat er een generiek stuk software is dat de ene database naar de andere kan mappen, niet in de laatste plaats vanwege het feit dat niet elke database perfect in elkaar zal zitten.

Dat betekent niet dat je het niet kan automatiseren, ik zou het alleen niet in pure SQL doen als ik jou was. Kan vast wel, maar eenvoudig wordt dat niet. Mijn eerste keus zou gaan naar het spul uit de oude database inlezen via PHP of een andere client-taal, en het daarna weer inserten in de nieuwe structuur.

Overigens haal je nogal wat termen door elkaar en dat zal het zoeken niet makkelijker maken. Je verwart een paar keer tabellen en databases met elkaar, je hebt het over een "Microsoft database" die je "exporteert naar SQL", etc. Een "Microsoft database" kan onder anderen MS Access of SQL Server zijn, SQL zegt niks omdat het een generieke taal is en geen stuk software die deze taal implementeert (zoals Access, SQL Server, MySQL, PostgreSQL, etc). Kijk dus eerst eens wat je naar wat om wil zetten, dan kom je vast een stuk verder.

Als de oude software trouwens óók een standaardproduct is dan zou het wel eens kunnen dat er conversiescripts bestaan.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • The Eagle
  • Registratie: Januari 2002
  • Laatst online: 10:31

The Eagle

I wear my sunglasses at night

Wat je zoekt bestaat, en heet een ETL tool: Extract, Transfer and Load :)
In een dergelijke tool kun je idd de boel mappen, en direct laten exporteren en importeren. Voorwaarde is uiteraard dat je DB client tools wel geinstalleerd zijn ;)

Ik weet niet of er een freeware ETL tool bestaat. Maar dat is wel wat je zoekt, en dan bij voorkeur eentje die jouw DBMS typen snapt ;)
Alternatief is idd zelf mappen. En ja, dat duurt even ;)

Al is het nieuws nog zo slecht, het wordt leuker als je het op zijn Brabants zegt :)


  • Ramon
  • Registratie: Juli 2000
  • Laatst online: 08:35
Ik zou het volgende doen: Een export script maken, die alle producten bijvoorbeeld naar een json-file wegschrijft. Dan een import script maken die de producten in de json-file importeert naar de nieuwe installatie. Dit heb je echt vrij makkelijk zelf precies op maat geschreven.... paar uurtjes werk en dan in een keer alle 3000 tegelijk doen.

[ Voor 9% gewijzigd door Ramon op 09-07-2014 21:21 ]

Check mijn V&A ads: https://tweakers.net/aanbod/user/9258/


  • incaz
  • Registratie: Augustus 2012
  • Laatst online: 15-11-2022
Ik zou het in de db zelf doen: de oude structuur importeren naar een temptable, en daar (handmatig ja) een paar queries op los laten - 1 voor elke tabel die je wilt vullen. Als dat er inderdaad maar een paar zijn, is dat prima te doen en kun je makkelijk zien of er gekke dingen gebeuren.

Ben je wel bekend met normaliseren? Dus dat je begrijpt waarom de gegevens naar aparte tabellen gaan? Dan is het namelijk goed te volgen, alleen als je niet bekend bent met het concept is het een stuk lastiger.

Never explain with stupidity where malice is a better explanation


  • P_Tingen
  • Registratie: Maart 2005
  • Laatst online: 21-11 21:44

P_Tingen

omdat het KAN

Ik zou het idd ook handmatig doen. Ofwel zoals incaz zegt via de db zelf en anders door de gegevens als csv te downloaden en in Excel te bewerken. Aangezien je niet zo'n grote database hebt is dat met wat edel handwerk nog wel te behappen. Als je de zaken hebt uitgezocht, kun je de nieuwe csv bestanden weer uploaden naar je nieuwe db

... en gaat over tot de orde van de dag


  • incaz
  • Registratie: Augustus 2012
  • Laatst online: 15-11-2022
En omdat ik het gewoon wel leuk vind om een verhaaltje te schrijven... normaliseren is dat je zorgt dat gegevens nooit meer dan 1 keer opgeslagen worden. Dat is vooral handig omdat het ook betekent dat je iets dergelijks eenvoudig kunt veranderen zonder dat op tig plekken tegelijk te doen.

Stel je hebt:
idnaamcategorieprijs
1Product 1Boek50
2Product 2Boek100


... maar met de komst van de e-books wil je deze hernoemen naar 'Papieren boek'. Je moet dan in elke regel apart zoeken naar 'Boek' en dat vervangen. Ook het creeren van dropdownlijstjes of selecteren op een bepaalde categorie is minder eenvoudig en gevoeliger voor fouten, je vergelijkt dan immers strings, met alle nadelen van dien (lokalisatie, case sentivitity, spelfouten, enge net-andere utf8-symbolen, etc.)

De oplossing is twee tabellen, een voor de producten en een voor de categorieen. De categorieen krijgen een id en een description, in de productentabel staat alleen maar categorie_id. Je kunt de description wijzigen wat je wilt zonder dat je ooit iets aan de producten hoeft te doen.

idnaamcategorie_idprijs
1Product 1150
2Product 21100


categorie_table
iddescription
1Papieren boek
2E-book



Wil je dat nou converteren, dan begin je met het vinden van de categorieen. Dus iets als een
SQL:
1
insert into categorie_table (select categorie from temptable group by categorie)


Daarna kun je in de oorspronkelijke temptable, of rechtstreeks in de query, de categorie-string vervangen door id, iets als
SQL:
1
update temptable set categorie_id = (select c.id from categorie_table c where categorie = c.description)


Dit doe je voor alle tabellen die je nodig hebt, en dan heb je aan het einde de productentabel met netjes de juiste id's voor elke externe entiteit.

Untested trouwens. Mogelijk moet je bij die eerste bovendien nog je veldnamen opgeven.

Never explain with stupidity where malice is a better explanation


  • The Great HooD
  • Registratie: September 2009
  • Laatst online: 13-09-2014
Updatetje...

Oude tabelstructuur:

SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CREATE TABLE `Artikelen` (
  `Artikelnummer` DOUBLE NULL, 
  `Fotonaam` VARCHAR(255), 
  `Categorie` VARCHAR(255), 
  `Subcategorie` VARCHAR(255), 
  `Naam` VARCHAR(255), 
  `Prijs` DOUBLE NULL, 
  `Per_aantal` VARCHAR(255), 
  `Omschrijving` VARCHAR(255), 
  `Foto_picto` VARCHAR(255), 
  `Datum` DATETIME, 
  `Id` INTEGER NOT NULL AUTO_INCREMENT, 
  INDEX (`Id`), 
  PRIMARY KEY (`Id`)
) ENGINE=myisam DEFAULT CHARSET=utf8;


Nieuwe tabelstructuur:
Categories
SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
CREATE TABLE IF NOT EXISTS `r69lt_virtuemart_categories` (
  `virtuemart_category_id` mediumint(1) unsigned NOT NULL AUTO_INCREMENT,
  `virtuemart_vendor_id` smallint(1) unsigned NOT NULL DEFAULT '1',
  `category_template` char(128) DEFAULT NULL,
  `category_layout` char(64) DEFAULT NULL,
  `category_product_layout` char(64) DEFAULT NULL,
  `products_per_row` tinyint(2) DEFAULT NULL,
  `limit_list_step` char(32) DEFAULT NULL,
  `limit_list_initial` smallint(1) unsigned DEFAULT NULL,
  `hits` int(1) unsigned NOT NULL DEFAULT '0',
  `metarobot` char(40) NOT NULL DEFAULT '',
  `metaauthor` char(64) NOT NULL DEFAULT '',
  `ordering` int(2) NOT NULL DEFAULT '0',
  `shared` tinyint(1) NOT NULL DEFAULT '0',
  `published` tinyint(1) NOT NULL DEFAULT '1',
  `created_on` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `created_by` int(11) NOT NULL DEFAULT '0',
  `modified_on` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `modified_by` int(11) NOT NULL DEFAULT '0',
  `locked_on` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `locked_by` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`virtuemart_category_id`),
  KEY `idx_category_virtuemart_vendor_id` (`virtuemart_vendor_id`),
  KEY `i_published` (`published`),
  KEY `i_shared` (`shared`),
  KEY `i_ordering` (`ordering`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COMMENT='Product Categories are stored here' AUTO_INCREMENT=2 ;


Products
SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
CREATE TABLE IF NOT EXISTS `r69lt_virtuemart_products` (
  `virtuemart_product_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `virtuemart_vendor_id` smallint(1) unsigned NOT NULL DEFAULT '1',
  `product_parent_id` int(1) unsigned NOT NULL DEFAULT '0',
  `product_sku` char(64) DEFAULT NULL,
  `product_gtin` char(64) DEFAULT NULL,
  `product_mpn` char(64) DEFAULT NULL,
  `product_weight` decimal(10,4) DEFAULT NULL,
  `product_weight_uom` char(7) DEFAULT NULL,
  `product_length` decimal(10,4) DEFAULT NULL,
  `product_width` decimal(10,4) DEFAULT NULL,
  `product_height` decimal(10,4) DEFAULT NULL,
  `product_lwh_uom` char(7) DEFAULT NULL,
  `product_url` char(255) DEFAULT NULL,
  `product_in_stock` int(1) NOT NULL DEFAULT '0',
  `product_ordered` int(1) NOT NULL DEFAULT '0',
  `low_stock_notification` int(1) unsigned NOT NULL DEFAULT '0',
  `product_available_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `product_availability` char(32) DEFAULT NULL,
  `product_special` tinyint(1) DEFAULT NULL,
  `product_sales` int(1) unsigned NOT NULL DEFAULT '0',
  `product_unit` varchar(8) DEFAULT NULL,
  `product_packaging` decimal(8,4) unsigned DEFAULT NULL,
  `product_params` varchar(2000) DEFAULT NULL,
  `hits` int(11) unsigned DEFAULT NULL,
  `intnotes` varchar(18000) DEFAULT NULL,
  `metarobot` varchar(400) DEFAULT NULL,
  `metaauthor` varchar(400) DEFAULT NULL,
  `layout` char(16) DEFAULT NULL,
  `published` tinyint(1) DEFAULT NULL,
  `pordering` mediumint(2) unsigned NOT NULL DEFAULT '0',
  `created_on` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `created_by` int(11) NOT NULL DEFAULT '0',
  `modified_on` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `modified_by` int(11) NOT NULL DEFAULT '0',
  `locked_on` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `locked_by` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`virtuemart_product_id`),
  KEY `idx_product_virtuemart_vendor_id` (`virtuemart_vendor_id`),
  KEY `idx_product_product_parent_id` (`product_parent_id`),
  KEY `i_product_special` (`product_special`),
  KEY `i_published` (`published`),
  KEY `i_pordering` (`pordering`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COMMENT='All products are stored here.' AUTO_INCREMENT=4 ;


Products (taal, hier worden naam, beschrijving, etc. in gegeven, zodat het per taal kan verschillen)

SQL:
1
2
3
4
5
6
7
8
9
10
11
12
CREATE TABLE IF NOT EXISTS `r69lt_virtuemart_products_en_gb` (
  `virtuemart_product_id` int(1) unsigned NOT NULL,
  `product_s_desc` varchar(2000) NOT NULL DEFAULT '',
  `product_desc` varchar(18400) NOT NULL DEFAULT '',
  `product_name` char(180) NOT NULL DEFAULT '',
  `metadesc` varchar(400) NOT NULL DEFAULT '',
  `metakey` varchar(400) NOT NULL DEFAULT '',
  `customtitle` char(255) NOT NULL DEFAULT '',
  `slug` char(192) NOT NULL DEFAULT '',
  PRIMARY KEY (`virtuemart_product_id`),
  UNIQUE KEY `slug` (`slug`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


Products en Categories, hier wordt alles aan elkaar gelinkt
SQL:
1
2
3
4
5
6
7
8
9
CREATE TABLE IF NOT EXISTS `r69lt_virtuemart_product_categories` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `virtuemart_product_id` int(1) unsigned NOT NULL DEFAULT '0',
  `virtuemart_category_id` mediumint(1) unsigned NOT NULL DEFAULT '0',
  `ordering` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `i_virtuemart_product_id` (`virtuemart_product_id`,`virtuemart_category_id`),
  KEY `i_ordering` (`ordering`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COMMENT='Maps Products to Categories' AUTO_INCREMENT=4 ;


Door (vooral) Incaz zijn verhaal is het me heel wat duidelijker hoe de structuur in elkaar zit, en zeker ook het feit dat je ID's meegeeft, zodat je heel simpel dingen kunt veranderen zonder dat je het meerdere keren hoeft te doen, dank hiervoor.

Na wat denken ben ik er dus achter gekomen, dat ik het beste beide databasetabellen kan laten invoeren in de database (De virtuemart is al in een DB, de oude is in feite nog alleen maar een SQL query, vanaf een Microsoft Database bestand geconverteerd) en dan via bepaalde select commands zoals hierboven is aangegeven ik dan de juiste dingen op de juiste plek kan zetten?
P_Tingen schreef op donderdag 10 juli 2014 @ 08:12:
Ik zou het idd ook handmatig doen. Ofwel zoals incaz zegt via de db zelf en anders door de gegevens als csv te downloaden en in Excel te bewerken. Aangezien je niet zo'n grote database hebt is dat met wat edel handwerk nog wel te behappen. Als je de zaken hebt uitgezocht, kun je de nieuwe csv bestanden weer uploaden naar je nieuwe db
Handmatig gaat echt veel te lang duren, zeker ook omdat ik de hele tijd aan het kopieren en plakken ben, en ook nog is zoeken naar de juiste tabel. Liefste doe ik het dus automatisch, anders kan ik het ook via Virtuemart zelf doen, maar dat gaat zo ontzettend langzaam met 3000+ producten.
NMe schreef op woensdag 09 juli 2014 @ 21:04:
[...]

Het goeie forum vinden was blijkbaar ook lastig. ;) Waar hoort mijn topic?

WEB>>PRG

Wat betreft je vraag: het lijkt me sterk dat er een generiek stuk software is dat de ene database naar de andere kan mappen, niet in de laatste plaats vanwege het feit dat niet elke database perfect in elkaar zal zitten.

Dat betekent niet dat je het niet kan automatiseren, ik zou het alleen niet in pure SQL doen als ik jou was. Kan vast wel, maar eenvoudig wordt dat niet. Mijn eerste keus zou gaan naar het spul uit de oude database inlezen via PHP of een andere client-taal, en het daarna weer inserten in de nieuwe structuur.

Overigens haal je nogal wat termen door elkaar en dat zal het zoeken niet makkelijker maken. Je verwart een paar keer tabellen en databases met elkaar, je hebt het over een "Microsoft database" die je "exporteert naar SQL", etc. Een "Microsoft database" kan onder anderen MS Access of SQL Server zijn, SQL zegt niks omdat het een generieke taal is en geen stuk software die deze taal implementeert (zoals Access, SQL Server, MySQL, PostgreSQL, etc). Kijk dus eerst eens wat je naar wat om wil zetten, dan kom je vast een stuk verder.

Als de oude software trouwens óók een standaardproduct is dan zou het wel eens kunnen dat er conversiescripts bestaan.
Het was een Microsoft Access database. Ik converteer het naar MySQL. Ik gebruik SQL omdat ik eigenlijk altijd met MySQL werk. Vandaar de verkeerde benaming :>
The Eagle schreef op woensdag 09 juli 2014 @ 21:16:
Wat je zoekt bestaat, en heet een ETL tool: Extract, Transfer and Load :)
In een dergelijke tool kun je idd de boel mappen, en direct laten exporteren en importeren. Voorwaarde is uiteraard dat je DB client tools wel geinstalleerd zijn ;)

Ik weet niet of er een freeware ETL tool bestaat. Maar dat is wel wat je zoekt, en dan bij voorkeur eentje die jouw DBMS typen snapt ;)
Alternatief is idd zelf mappen. En ja, dat duurt even ;)
Thanks, ik ga even Googlen. Moet wel gratis blijven maar als het niet kan moet het via de database gaan..

[ Voor 19% gewijzigd door The Great HooD op 12-07-2014 11:53 ]


  • KopjeThee
  • Registratie: Maart 2005
  • Niet online
Ik zou eens beginnen met proberen te achterhalen wat uit je oude tabel ongeveer waar in de nieuwe structuur moet terecht komen..
Artikelen.Artikelnummer -> r69lt_virtuemart_products.???
Artikelen.Fotonaam -> r69lt_virtuemart_products.???
Artikelen.Categorie -> Kan dit? 2 nivo's van categorieen?
Artikelen.Subcategorie -> Waar wordt de naam van een virtuemart categorie opgeslagen?
Artikelen.Naam -> r69lt_virtuemart_products_en_gb.product_name
Artikelen.Prijs -> r69lt_virtuemart_products.???
Artikelen.Per_aantal -> r69lt_virtuemart_products.product_unit
Artikelen.Omschrijving -> r69lt_virtuemart_products_en_gb.product_name
Artikelen.Foto_picto -> r69lt_virtuemart_products
Artikelen.Datum -> r69lt_virtuemart_products.product_available_date
Artikelen.Id -> r69lt_virtuemart_products.virtuemart_product_id en r69lt_virtuemart_products_en_gb.virtuemart_product_id en r69lt_virtuemart_product_categories.virtuemart_product_id

Er zal sowieso een heleboel informatie nog ingevuld moeten worden voor zover Virtuemart het nodig heeft, omdat virtuemart blijkbaar veel meer informatie opslaat dan jij deed in de oude database. In de conversie kan je misschien veel dingen met een default waarde vullen om te beginnen (bijvoorbeeld alle producten dezelfde vendorid).

Je zult ook wat id's bij je categorieën moeten verzinnen.

Als je dat hebt kan je waarschijnlijk heel eenvoudig voor elke virtuemart tabel een sql query maken om die tabel initieel te vullen.

  • The Great HooD
  • Registratie: September 2009
  • Laatst online: 13-09-2014
Dank voor de reactie. Ja ik ben inderdaad al langsgelopen waar alles heenmoet, en voor sommige dingen is er geen plaats of is het niet nodig om die over te zetten.

Je zit in de goede richting, en het klopt, Virtuemart slaat heel wat meer op, alleen al door het grote optieverschil wat je hebt. Veel waardes zullen hetzelfde zijn, zoals inderdaad VendorID omdat ik daar geen gebruik van maak in Virtuemart.

Ik kan in ieder geval al een heel stuk verder mede door al jullie input! Dank daarvoor, en ik zal dit topic updaten zodra ik een oplossing heb gevonden, zodat toekomstige gebruikers hier ook wijzer uit kunnen worden.

  • The Eagle
  • Registratie: Januari 2002
  • Laatst online: 10:31

The Eagle

I wear my sunglasses at night

Protip met dit soort dingen: de boel qua mapping even in excel zetten. 6 kolommen. Tabelnieuw, punt, veldnieuw, tabeloud, punt, veldoud.

Als je die mapping hebt aan de slag met ultraedit of emerald editor (column mode) om er SQL statements van te bakken.

Moet uiteindelijk een insert into new as select from old worden, dus dan kun je de hele boel in 1 x fixen.
Enige waar je even rekening mee moet houden is de referentiele integriteit en de autoincrement. Als ik die autoincrements zie wil je de nummering dus niet meenemen (maar dan moet ie overal door de data heen gelijk zijn).
Of je wilt je oude nummers wel meenemen, maar dan moet die autoincrement er tijdelijk af.

Al is het nieuws nog zo slecht, het wordt leuker als je het op zijn Brabants zegt :)


  • P_Tingen
  • Registratie: Maart 2005
  • Laatst online: 21-11 21:44

P_Tingen

omdat het KAN

En tip nummer twee: VOORDAT je allerlei enge queries op je database gaat loslaten, EERST een backup maken van wat je hebt. Meestal denk je dat je alles goed hebt geregeld en kom je er naderhand achter dat er tocht nog een stuk of tig dingen waren die anders moeten. Met een simpele backup kun je net zo lang tweaken tot het naar je zin is.

... en gaat over tot de orde van de dag


  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 21-11 14:12
Is er niet gewoon een export module voor je huidige software, naar csv/excel/xml? En dan in Virtuemart een vergelijkbare importmodule?
Of alleen een importmodule voor Virtuemart, en dan kan je zelf een export stukje schrijven. Dan hoef je geen rekening te houden met de databasestructuur van Virtuemart, maar gewoon in het goede formaat je producten neer te zetten.

  • The Great HooD
  • Registratie: September 2009
  • Laatst online: 13-09-2014
The Eagle schreef op zaterdag 12 juli 2014 @ 13:28:
Protip met dit soort dingen: de boel qua mapping even in excel zetten. 6 kolommen. Tabelnieuw, punt, veldnieuw, tabeloud, punt, veldoud.

Als je die mapping hebt aan de slag met ultraedit of emerald editor (column mode) om er SQL statements van te bakken.

Moet uiteindelijk een insert into new as select from old worden, dus dan kun je de hele boel in 1 x fixen.
Enige waar je even rekening mee moet houden is de referentiele integriteit en de autoincrement. Als ik die autoincrements zie wil je de nummering dus niet meenemen (maar dan moet ie overal door de data heen gelijk zijn).
Of je wilt je oude nummers wel meenemen, maar dan moet die autoincrement er tijdelijk af.
Ik vermoed dat ik dit niet met Excel ga doen. Wat een hekel heb ik aan dat programma, maar dat komt alleen al door het feit dat ik er totaal geen kaas van heb gegeten. Ga liever met SQL query's en statements aan de gang. Toch bedankt voor de tip, misschien dat ik hem nog nodig heb :)
P_Tingen schreef op zaterdag 12 juli 2014 @ 14:26:
En tip nummer twee: VOORDAT je allerlei enge queries op je database gaat loslaten, EERST een backup maken van wat je hebt. Meestal denk je dat je alles goed hebt geregeld en kom je er naderhand achter dat er tocht nog een stuk of tig dingen waren die anders moeten. Met een simpele backup kun je net zo lang tweaken tot het naar je zin is.
:) Gelukkig ben ik wat dat betreft "goed" opgeleid, haha. Nee ik ben daar altijd heel voorzichtig mee, maar je kan het wat mij betreft niet vaak genoeg zeggen. Hoevaak ik wel niet dingen helemaal voor niets heb gedaan omdat een miniscuul foutje je werk teniet deed |:(
Barryvdh schreef op zaterdag 12 juli 2014 @ 15:56:
Is er niet gewoon een export module voor je huidige software, naar csv/excel/xml? En dan in Virtuemart een vergelijkbare importmodule?
Of alleen een importmodule voor Virtuemart, en dan kan je zelf een export stukje schrijven. Dan hoef je geen rekening te houden met de databasestructuur van Virtuemart, maar gewoon in het goede formaat je producten neer te zetten.
Helaas. Dit is een zelfgeschreven website, ik ga die overzetten in Joomla, want zelf dingen kunnen doen staat hoger in het vaandel dan telkens opnieuw mensen aan het werk zetten voor de meest simpele dingen :X
Pagina: 1