After Update - Dreamfactory 1.8 Cannot access MYSQL Views in Nginx


#1

After update, cannot access the views in MYSQL. Please Help.

Update : It seems the issue is only with Nginx and not Apache. Server is Ubuntu 14.04. Need it to work with Nginx as dreamfactory performs alot better in Nginx.


#2

What about accessing tables rather than views on that same db with Nginx. Does that work for you?


#3

Yeah, tables are working. Moreover, lets say if I have two services setup. Then, when we go to Roles screen and try to assign Service Access, even if we choose lets say the first service, it lists all the tables of all the services including the tables of dreamfactory. Till 1.78, if selected service A, it only listed the tables and views of Service A.

In apache, everything is working fine.


#4

There was a bug that was preventing views from working. It’s been fixed and shouldn’t have anything to do with Nginx vs Apache. As for the list of tables under role service access, starting with 1.8.0 that list will include all tables your database user (normally dsp_user) has access to, not just the dreamfactory ones. I suspect the additional tables are for the selected service but just weren’t shown in 1.7.8. Let us know if you are sure the tables shown are not for the selected service.


#5

Please see the image below. I am 100% sure that the tables shown are not just for the selected service. It shows all the tables for all the services in 1.80. You will notice that it shows dreamfactory tables and the rds db tables.


#6

I still think this is expected behavior. Starting with 1.8 when you select a service it shows the tables for all databases for that service (that your user has access to). Your selected service has more than one database. dreamfactory_1.8 and mysql are different databases in the same service. Try going to phpmyadmin and look for those two databases.


#7

There are alot more tables listed which I am not able to show a screenshot for. Ill install it in a new server and then confirm.


#8

Still doing the same. Dreamfactory db is local whereas service is rds.

This one shows the first two tables of the Service A:-

Again, the issue is not that its showing all but the issue is that its not showing the views. Its working perfectly fine in 1.78 and the 1.8 is working fine in apache. The above screenshots are for server running ubuntu 14.04 and nginx.


#9

The fix for views not showing up will be available this week. If you are using a hosted DSP it will just start working. If you have your own DSP you will have to run composer update to get the fix. We are also removing mysql.* and a few others from the list.


#10

Thanks. Please post whenever the update is needed. Thanks.


#11

I’m having a very similar issue, an external mySQL service and configuration which was working perfectly before 1.8 has now stopped working. The schema is blank and nothing appears in the data tab.

I’m on an upgraded Bitnami stack running Apache.


#12

This is all I see in role -> Service Access tab is this:


#13

So it seems the connection string is sensitive to a trailing semi-colon. i.e. this does not work:

mysql:host=mydb.com;dbname=mydatabase

This does:

mysql:host=mydb.com;dbname=mydatabase;

Which kind of makes sense, but the fact the connection string builder in the service configuration utility doesn’t append a semi-colon is quite misleading. In addition, despite the fact I’m specifiying the dbname I wish to use, all databases and tables in the database are displayed [with the dbname prefixed if not specified in the connection string]. Which as my db contains quite a lot of other tables is very annoying and begs the question, whats the point in specifying a dbname?

Thanks


#14

Well… thank for the info…
After my upgrade no remote MYSQL database work anymore…

I appended a semi-colon and in my case it still doesn’t work… (maybe I have for the cache to die ?)

mysql:host=localhost:3306;dbname=databasename;

It’s my connection string… do you see something wrong ?

{"error":[{"context":null,"message":"Table "links" does not exist in the database.","code":404}]}

is what I get back… but it does exist and it was working…


#15

I have also noticed that all the databases are being displayed. They have said they will come up with a fix soon, so lets wait.


#16

Yes. This fix is being implemented within the next two days, hopefully by tomorrow. Please be on the lookout for the fix.

Thanks,

  • Mark

#17

I cant access views in apache


#18

Yes,

This is related to the upgrade that is pending release. It will be available by the end of day today or tomorrow at the latest. Apologies for the inconvenience.

Thanks,
Mark


#19

Hey Mark, Is the update out?


#20

@hjais
Not sure if this is a solution or not but it works for me

i updated composer using the following:

php ./composer.phar update

will in the platform (root) folder

this will update php common libs of dreamfactory where the fix is.

Make sure not to do this on a production instance as im not sure if it is the right thing to do or not