Asennus tyhjään tietokantaan ei onnistu ohjeen mukaan

Started by Pihti, 24.01.23 - klo:13:56

Previous topic - Next topic

Pihti

Hei! Latasin uusimman MLInvoicen voidakseni tehdä eräälle radiokerholle laskutusjärjestelmän. Asensin sen tyhjään hakemistoon koneella. Päivitin PHP:n 7.4 versioon ja loin tyhjän tietokannan MariaDB:hen.

Yrittäessäni kirjautua ruutuun tulee tällainen rivi:

Query 'SELECT data, session_timestamp FROM mlinvoice_session where id=?' with params array ( 0 => '0pc66a6lvur359v1gg2qgfq0h7', ) failed: (1146) Table 'radioml.mlinvoice_session' doesn't exist

Tietokannan nimi on radioml ja käyttäjätunnuksella on riittävästi natsaa voidakseen luoda kannan.

Muut MlInvoice-asennukset samoilla asetuksilla toimivat, ovat vain vanhempaa versiota. En uskalla päivittää tuotannossa olevia, ennenkuin saan tuon uuden asennuksen toimimaan. Olen TÄYSI KÄSI mariadb:n kanssa, ainut minkä osasin tehdä oli tosiaan tuo tietokanta. Muut asennukset käyttävät samaa käyttäjätunnusta ja salasanaa koska toimivat sisäisesti. Ne silti käyttävät omia tietokantojaan.

Pihti

Tein virtuaalikoneen ja testasin sillä. Totesin että vika ei ole MLInvoicessa, vaan olen kädettänyt jossain muualla. Anteeksi häiriö.

Ere Maijala

En oikein keksi muuta mahdollisuutta kuin sen, että jotenkin olisi MLInvoicen hakemistossa config.php-tiedosto ilman, että asennus on tehty loppuun eli saanut tietokannan luotua. Jokin virhe siinä asennuksessa olisi kuitenkin pitänyt tulla. Jos ei muuten, niin PHP:n virhelokista voisi löytyä vinkki. Jos jotain selviää, niin mielelläni kuulen siitä siltä varalta, että asennuksessa on jäänyt jotain huomioimatta.

Kokeilin itsekin varmuuden vuoksi uutta asennusta, ja toimi ongelmitta.

--Ere

Pihti

Sain toimimaan, kun varmistin php7.4 asennuksen olevan kunnossa ja hakemiston kirjoitusoikat. Tämän jälkeen meni serveriinkin ongelmitta. Eli syyllinen sen osalta oli "ratin ja penkin välissä", ei ohjelmassa.

Mites vanha vl-lasku (jep!) saataisiin päivitettyä tähän uusimpaan versioon?

Ere Maijala

Päivitys riippuu VLLaskun versiosta. Vanhoissa versioissa ei ihan hirveän selkeästi ole versiota näkyvissä missään, mutta sen voi päätellä siitä, mitä tietokannan päivitysskriptejä asennuksesta löytyy. Eli jos sieltä löytyy esim. tiedosto update_database_1.4_to_1.5.sql, niin kyseessä on versio 1.5. Jos sitä ei ole, mutta on update_database_1.3_to_1.4.sql, niin kyseessä on 1.4 jne.

Jos versio on 1.5, niin allaoleva pätee. Muuten täytyy ajaa ensin käsin yllämainituista tarpeelliset skriptit update_database_1.4_to_1.5.sql:ään asti. Ne löytyvät edelleen uusimmasta asennuspaketista.

Versiosta 1.5 lähtien MLInvoicen tietokannan päivitystoiminto osaa päivittää tietokannan nykyversioon automaattisesti. Tässä hieman monimutkaisuutta tulee siitä, että uusin MLInvoice ei enää tue niin vanhoja PHP-versioita kuin vanha, ja toisin päin.

Jos siis käytössä on vanhempi PHP-versio kuin 7.3.5, suosittelen päivittämään ensin MLInvoicen versioon 1.23.1. Se on viimeinen vanhempia PHP-versioita tukeva MLInvoice-versio. Silloin voi vielä varmistaa, että kaikki toimii oikein ennen kuin päivittää PHP:n. Ei sitten muutu moni asia kerralla ja tarvitse ihmetellä kaikkea, jos tulee jotain hämminkiä. Tämän jälkeen voi päivittää PHP:n versioon 8.0 asti, ja sitten asentaa viimeisimmän version saman tien. Viimeisimmän version pitäisi toimia PHP 8.1:lläkin.

Lopuksi kannattaa vertailla asennuksen config.php:tä config.php.sample-tiedostoon. Esim. automaattipäivitys voi olla jatkossa mukava. :)

--Ere

Pihti

Onnistuin päivittämään yhden vanhan vl-laskun yhdellä napsauksella uusimpaan MlInvoiceen. Meni kauniisti :)

Mites muuten, aiemmin täällä olikin jo joku kysynyt, että onko mahdollista toteuttaa tähän MlInvoiceen ryhmälaskutus? Eli yhdistyskäytössä jäsenmaksujen lähettämisessä tuo olisi hyvä. Tällöin toiminta voisi olla:

1. Tehdään normaali lasku ja valitaan valintatäppä "lähetä kaikille asiakkaille" ja tilaksi "lähettämätön"
2. Systeemi muodostaa kaikille kannassa oleville aktiivisille asiakkaille normaalin laskun kopion jossa laskurivit kuten kohdassa 1 olevassa laskussa. Nämä menevät "lähettämätön" tilaan.
3. Voidaan muokata haluttuja laskuja, mutta niiden tila annetaan olla edelleen lähettämätön. Jos laskua ei haluta lähettää, sen tilaksi asetetaan "keskeneräinen".
4. Painetaan lopuksi nappia "lähetä lähettämättömät" jolloin systeemi luo e-mailit kaikille niille joilla menee e-mail ja ne joilla ei ole e-mailia, tulee ulos PDF jossa laskut omina sivuinaan valmiiksi tulostettavaksi. Samalla laskut kuitataan lähetetyiksi.

Tästä on hyötyä myös yrityspuolella, jos laitetaan tilaksi lähettämätön ja laskuja tehdään useita. Tällöin lopuksi painetaan nappia "lähetä lähettämättömät" ja sähköpostissa tmv menee siellä menevät laskut ja pdf:än kautta tulostuu ulos käteväksi nipuksi osoitteelliset laskut. Voidaan myös tehdä asetus, että jokaisesta laskusta tulee pdf ulos riippumatta siitä, lähteekö se millä tavalla.

Ere Maijala

Juu, toivelistalla on kyllä monenmoista, ja tarkoitus on ollutkin tehdä, mutta toiveita on vain niin paljon, ettei aika ole riittänyt. Ja tuossa joutuu vähän tekemään hommia laskujen muodostuksen lisäksi, että saa homman toimimaan jouhevasti.