Connections-Business-Directory / Connections

Directory Plugin for WordPress
https://connections-pro.com
GNU General Public License v2.0
26 stars 18 forks source link

FULLTEXT fails with InnoDB #309

Closed quantumJLBass closed 10 years ago

quantumJLBass commented 10 years ago

InnoDB doesn't support FULLTEXT until MySQL 5.6.4 or higher so in https://github.com/shazahm1/Connections/blob/develop/includes/class.schema.php

so you may need to be force the engine and set the table like (not coding just talking it out)

if MySQL 5.6.4 or higher ) ENGINE=INNODB CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT='some table'; else ) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT='some table';

for example on https://github.com/shazahm1/Connections/blob/develop/includes/class.schema.php#L172

shazahm1 commented 10 years ago

yeah, I'm aware of that. I was never certain how best to handle it since it is somewhat rare that it is an issue. I think I may do this instead #310 only because I do not know if changing the engine without the end user knowing is evil or not...

quantumJLBass commented 10 years ago

Well for what it's worth, I do tons of work with Magento and was a Core Dev team member on CMS Made simple, and it seems to be very common to have plugins and extensions creating the table with the engine of the devs choosing. Just 2 cents on this for ya..

shazahm1 commented 10 years ago

That's very good to know ... I could easily add that to the query that creates the tables on a new installation. Is there any danger in assuming MyISM is available...

Actually a quick read. It looks like I should prefer INNODB if MySQL is > some version like you originally suggested.

Thanks for bring this to my attention and making the recommendation. I'mm going to take the time to rool this into the next release.

quantumJLBass commented 10 years ago

I have yet to ever run into an issue with assuming that MyISM was there as it was the default engine till MySQL 5.4 iirc then they switched to InNODB as the default, so I would think that if you have a normal L(A/E)MP stack that everything will be fine assuming that either are there as they are on default loads and you have to work to remove one or the other. Just more thoughts on that.

shazahm1 commented 10 years ago

@jeremyBass

Could you test the develop branch real quick for me to make sure the table engine is being set to InnoDB?

This commit should do the trick based on your suggestion when you open the ticket: https://github.com/Connections-Business-Directory/Connections/commit/870eff4f4c5f0aff166c50be358c7ff66e01d7e0

There's no reason the change shouldn't work since it was fairly basic change, but I'd like someone else at least give a quick go...

Thanks!

quantumJLBass commented 10 years ago

@shazahm1 yeps just did a local install on a vagrant LEMP stack. everything seems good.

Side note, the big demo is tomorrow so I'll be starting back up late in the week or next, but so far everyone is happy.

shazahm1 commented 10 years ago

I've been looking into vagrant. I have a testing install with VVV. I've done much with it quite yet, but it does look like it'll improve thing for me quite a bit.

shazahm1 commented 10 years ago

Testing has been successful, closing.

quantumJLBass commented 10 years ago

Both vagrant setups have the same dev working on them. It's not a bad way to do local dev work. It's draw back is the live testing is a little harder to deal with. But all in all it's not a bad way to go.