Migraatio PK-laskusta

Started by pikatsu, 02.02.20 - klo:23:38

Previous topic - Next topic

pikatsu

Olen yli vuosikymmenen pyorittanyt pklaskua virtuaalikoneella, ja hetken mielijohteesta paatin että voisi tehda pilvimigraation MLinvoiceen.

Onko kenellakaan mappaystaulukkoa pklaskun kentista ja MLinvoicen kentista? Importtasin pk-laskun taulut samaan kantaan kuin MLInvoice ajatuksena tehda migraatio insertteina.

Aineistoa ei ole montaa sataa riviä.

Onko olemassa parempia tapoja? Loysin jonkun linkin VL-laskun sourceforgeen, mutta sieltä ei löytynyt mitään apua.

ele

Joo, ihan hyvä idea päivittää ;) Mites nämä versiot nyt meni, pklasku alkuperäinen, sitten vllasku ja viimeisin sit mlinvoice? MLInvoicen asennus tyhjältä pöydältä on varmaankin parempi idea kuin yrittää päivitellä vanhaa kantaa (ei mitään hajua onnistuuko edes, itseltä näyttää katkeavan laskutussarjat aina isompien päivitysten tienoilla).

Kannattaa varmaankin keskittyä lähinnä pklasku_invoice, pklasku_invoice_row ja pklasku_company -tauluihin. Ottaa ensin mlinvoicen kannasta varmuuskopion mysqldumpilla. Sitten hakee noiden kolmen pklasku-taulun insert-rivit, kopioi ne erilliseen tiedostoon ja muuttaa pklaskun tilalle mlinvoice. Insert ei varmaan mene sellaisenaan läpi, mutta tekee mlinvoicen tauluun väliaikaissarakkeita pklaskun vanhoilla nimillä ja pohtii sitten myöhemmin onko niissä mitään arvokasta dataa.

Pklaskun loitsut noille kolmelle taululle:
CREATE TABLE pklasku_invoice (
  id int(11) NOT NULL auto_increment,
  name varchar(50) default NULL,
  company_id int(11) default NULL,
  invoice_no varchar(100) default NULL,
  real_invoice_no int(11) default NULL,
  invoice_date int(11) default NULL,
  due_date int(11) default NULL,
  payment_date int(11) default NULL,
  ref_number varchar(100) default NULL,
  state_id int(11) default NULL,
  reference varchar(50) default NULL,
  base_id int(11) default NULL,
  PRIMARY KEY  (id)
) TYPE=MyISAM AUTO_INCREMENT=1;

CREATE TABLE pklasku_invoice_row (
  id int(11) NOT NULL auto_increment,
  invoice_id int(11) default NULL,
  description varchar(255) default NULL,
  type_id int(11) default NULL,
  pcs decimal(9,2) default NULL,
  price decimal(9,2) default NULL,
  row_date int(11) default NULL,
  vat int(11) NOT NULL default '0',
  order_no int(11) default NULL,
  PRIMARY KEY  (id)
) TYPE=MyISAM AUTO_INCREMENT=1;

CREATE TABLE pklasku_company (
  id int(11) NOT NULL auto_increment,
  inside_info text,
  type_id int(11) default NULL,
  company_name varchar(100) NOT NULL,
  contact_person varchar(100) default NULL,
  street_address varchar(100) default NULL,
  zip_code varchar(10) default NULL,
  city varchar(100) default NULL,
  phone varchar(30) default NULL,
  fax varchar(30) default NULL,
  email varchar(50) default NULL,
  gsm varchar(30) default NULL,
  billing_address text,
  www varchar(100) default NULL,
  info text,
  company_id varchar(15) default NULL,
  PRIMARY KEY  (id)
) TYPE=MyISAM;

Esim. tuota pklasku_invoice-taulun real_invoice_no-saraketta ei nykyään taida olla käytössä..

Ere Maijala

Jos en ihan väärin muista, niin PkLaskun tietokanta on sama kuin VLLasku 1.0:n tietokanta. VLLaskusta tuli MLInvoice matkan varrella. Mutta siis pitäisi onnistua ajamalla MLInvoicen mukana vieläkin tulevat update_database*.sql -skriptit. Viimeisen update_database_1.4_to_1.5.sql jälkeen MLInvoice osaa tehdä itse loput.