The subject is precise. I’m new to Ruby on Rails but I am learning everyday. Also I am a php programmer and I have my own host I am wanting to deploy to. Does anyone have any links or advice on using MySQL over Postgresql and choosing to use my host over others recommended. My host only offers MySQL so that is why that choice. Also deploying to my host instead of using Heroku I prefer to learn the information needed to keep the server up to date and maintained instead of depending upon others where my resources would be greatly restricted. Thank you for any suggestions, comments, or concerns.
I'm sure you can find many technical comparisons of MySQL and
PostgreSQL, and the ultimate decision depends on *your* app's
requirements, personal preference/familiarity, etc. Try them both
out locally and take it from there.
However -- "My host only offers MySQL" -- eh?
If you want to learn to maintain your own server, that's great - so
why not start by installing PostgreSQL yourself? It's not like it's an
If you're on a shared server somewhere (not a VPS, where you are root) then you will probably have a difficult time making sure that anything is up to date. Hassan's suggestion to just install it basically assumes that you are on a server where you can install things, and if you are on a traditional shared host, like many PHP devs, then you won't get that privilege, and you will have to file a ticket to get anything upgraded.
You may want to look at Digital Ocean, if you want to run your own server and still pay shared-server prices.
If you're just learning RoR, then I recommend that you follow the Hartl tutorial (free to read at http://railstutorial.org) and that will recommend that you use the free tier of Heroku to deploy your first apps. That's a great way to get started, because there's already so very much to learn to get Rails going that taking the deployment out of the equation is a seriously good idea. One less thing to break. Once you have the basics of Rails figured out, you can lay on the extra learning curve of a VPS and installing a server from scratch and other "devops" things.
If I have a choice I always use postgres.
Mysql w it’s default settings (among other things ) mishandles not null directives
(Sorry if youtube links aren’t proper form)
As well and this is just my opinion but having another database engine (innodb) do your transactions is bad or at least wierd. In my experience the vast majority of corruption is in the innodb tables