Skip to content

Propel ORM, schema.xml, the missing autoIncrement value and a not working "$propelObject->reload()" with mysql greater 5.1

So i had to evaluate a migration of an existing application from mysql 5.1 to mysql 5.5. Yes i know, the gap between 5.1 and 5.5 is tremendous but the system was working without any problems for a long time of periode.

After switching a test environment from 5.1 to 5.5 there was one unittest failing. What was so special in that given unittest? For a reason, we needed to execute the native propel method "reload" right after a "save". The test was failing because of an empty value for the "id". The representing database table has a column id with an autoincrement flag. With mysql 5.1, everything is working as expected. The id was available after the reload so everything was fine.

After switching to 5.5, no id was available after calling "save". This leads to the fact that propel was failing by executing the "reload" method. Switching back to mysql 5.1 and the error was gone. After search in usergroups, issuepages i still could not find any matching issue or entry. Finally i presentend my problem on the #propel channel in freenode and got some feedback. One guy had experienced the same error in the past. He could remember that this problem occures while switching to mysql 5.3 or 5.4. Niceguy exptom wrote that goosed him with my report and he will give the problem a debug session try.

On the next day, he quickly responded and presented his results. He (if he is a he and not a she) told me he could takle it down to a missleading schema.xml. The column where the error occures had a missing autoIncrement="true" value. I took a look into my current schema.xml and bam same flaw.

The rest is quite easy. Update schema.xml, rerun propel generation and testing. Everything is now working fine. Thanks to exptom again. I guess the schema.xml would have been one of the last areas i had debugged.

php - debug soap client

If you are using the native php soap client, just enable the trace mechanims and use the build in methods.

array_push($options, array('trace' => 1)); $myPhpSoapClient = new SoapClient($urlToWSDL, $options);
Use a logger for the output or add it at least as hidden value in your output. PHP independent works best with a sniffer tool like wireshark

howto - windows 7 service windows-audio could not start - error 1079

Do you ever had the problem that you have no sound on your windows 7? I have and it was hard to find the problem, since windows is acting so ... well not expected ;-). So you want to adjust the volume and an "here is a problem, let me search on the internat for a solution" windows is popping up. After you opened the service management and take a look at the dependencies, you started all needed service but getting the error 1079 again. What to do? Rightclick on the "windows-audio" entry and open properties ("einstellungen"). Click to tab login ("Anmeldung"), select "this account" option and enter "LocalService" as username and "0000" as password. Click Apply and try to start the service. Now everything should work smoothly. Thanks to to show me the way i have to look.

netbeans - Cannot find java. Please use the --jdkhome switch.

I just want to start netbeans and what happens? Nothing. After trying it twice (via fbrun), i tried it a third time via cli/shell and there was the error "Cannot find java. Please use the --jdkhome switch.". Next stap was to ask the preferred search engine which leads to ... well nearly no good solution. So i searched a bit wild and after a time, my mind told me to look for two reasons.

The first look was to "where the hell is my current jvm installed?" which leads me to "/usr/bin/jvm/java-*". After that i located my current netbeans.conf and take a look into it.

In the "netbeans.conf" file, my eyes founded a missconfigured line where the "netbeans_home" pointed to a non existing path. Quickly adapted it and "et voila", everything is working again.

Hint: With this configuration, you can easily switch your current used jvm!