ruby on rails w/ SQLServer - mysql

I've heard from some people that RoR doesn't marry cleanly with SQLServer. We are being pushed to use SQLServer for historical and standardization reasons but if we can push back with valid reasons we can move to another db. One person on the team wants MySql and another wants Postgres, etc. I'm trying to stay out of the religious wars and really understand what the pain point is with SQLServer.
We're running the app server on a linux box, and the database will be on a windows box and the SQLServer that we're supposed to standardize on is 2008, if those details help any...
thanks in advance!

I am not very familiar with such configuration but.. There are some question you should (I think so) ask yourself and team.
Is there any significant advantage for your project of using SQLServer?
If yes ... Is it so overwhelming that you are ready to face some difficulties with odbc drivers such as: http://groups.google.com/group/rails-sqlserver-adapter/browse_thread/thread/6d35d4a53ac210b2
Are you ready to host so many configurations of this boxes (linux+windows) for development, staging and production?
Do you have got professional of SQLServer in your team? (backups and administration)
If you cannot get positive answers for this questions I think SQLServer could be very hard to maintain for RoR project. Still it doesn't mean it is not possible. But sometimes you must ask yourself why you should use saw to driving nails when you have got hammer at your left.

I am successfully using Rails (version 3 to latest) with SqlServer in production for many years.
You can use https://github.com/rails-sqlserver/activerecord-sqlserver-adapter which recently upgraded to support latest SqlServer/Azure for Rails 5.2.

Related

Meteor - Mysql (Integration between LAMP and Meteor.JS) cross platform

I have an existing application based in LAMP and now I am looking to develop a new module of the existing system in Meteor.JS (Only New Module, keeping the existing system as it is)
I know that Mysql is not officially supported till now in Meteor. I have gathered some knowledge that, using a package numtel:mysql, we may get support for mysql, but I feel that is also limited.
Now, my question is: I have one project built on a LAMP stack, and I wanted to develop a new module for this in Meteor using the same Mysql database, as its contains existing records. (I know that I have to do some workaround for sign-in and authentication between two, and that I have to take care too.
But I just wanted to know, Is it possible to use the existing system (Mysql database) and what are the possibilities of creating a new module in Meteor. Can someone put shed light into this scenario?
Also, can someone suggest to me how to do single sign-on between these two different applications (LAMP and Meteor)
What are the steps that I should take in order to achieve this?

Ruby on Rails two completely different databases on the same project

I spent last couple of hours searching the web for this solution and I didn't find any, so I wanted to ask here if anyone has experience with something like this.
I started working on a very big Rails project and I've got some very strange request from the project manager.
He wants me to use 2 different MySQL databases for different environments (which I already found how to do here
Apart from this he wants to make a small local database which would serve as an autosave vault for the recent documents (maybe 5-10 recent documents) and he wants this database to be a SQLite.
Since I just started with the Rails recently I didn't even know if this sort of connection is possible, and is something like this even possible in Rails.
I also thought of using a Connection Pool to ensure thread safety.
Any advice and help is appreciated.

Why doesn't MySQL include a decent migration tool anymore?

MySQL used to have a Migration Toolkit, to make it easier to import from SQL Server and get started with MySQL as a production platform. That has been discontinued as a product. We were promised that an equivalent product would be added to the newer MySQL Workbench, but that has not happened.
It strikes me as a bizarre business decision, by the MySQL team, to put an extra barrier in the way of people who are considering moving from an MS-stack to a LAMP-stack.
Yes, migration toolkit was awesome.
But still they support the import/export in mysql workbench.
Checkout here:
http://dev.mysql.com/doc/workbench/en/wb-server-administration-manage-data-import-export.html
That seems like a strange move indeed...
You will find several tools suggested under "Migration Tools" here: dev.mysql.com/tech-resources/articles/migrating-from-microsoft.html.
You can migrate Data from MSSQL using PHPMyAdmin Web Interface!
Check here!
To install it on your LAMP-Stack (if you don't have it already), type this on server:
sudo apt-get install phpmyadmin
and Voilá!
:)
Latest MySQL moves look like the typical management decisions based upon marketing rather than actual software capabilities. The company has been through several owners in a few years and the last one, Oracle, has a strong will to make money out of it. (They are even making money out of Sun Microsystems!) MySQL used to have a bunch of poorly maintained GUI tools with a widely variable quality level. That's okay for most users but it scares away companies, which are the type of users that are willing to pay. Creating a single suite out of it looks like an intelligent move in the long term but they probably lack resources to speed up things and they want results now.
Right now, you can still find the old tools if you dig into the archives section from the download page. You'd better grab your copy before they change their mind. ;-)

How to integrate Visual FoxPro w/ MySQL for eCommerce website?

I'm working on an eCommerce website for a small merchant. This merchant uses Opera (which is based on Visual FoxPro) to manage his in-store inventory, and would like the online store inventory to reflect the in-store inventory.
I'm guessing that my first step is to set up a way to regularly transfer the information from the VFP database to a MySQL database on the website's server. Is there an established process for this? Am I even approaching this problem from the right angle? I've heard a lot about ODBC, but am unsure as to how to implement it or if it's what I'm looking for in this situation.
If it wasn't obvious by this point, I'm in over my head here, and would appreciate any and all advice you may have, including links to articles or tutorials that can help improve my general understanding of all the moving parts here.
Thanks much.
Co-worker developed synchronization process between VFP and MSSQL2008. WCF service which took input directly from VFP.
On other project - as far as i remember, when we tried ODBC .NET data adapter, it had problems with encodings and foreign languages. That's why we used COM+, serialization for communication with .NET.
But it seems to me you are using PHP (eCommerce=>Drupal=>PHP) so you are in completely different situation.
In your case, i would start with checking out if Opera (i guess it's this Opera) provides built-in export and eCommerce provides built-in import. Mostly because it might be tedious work to sync data manually from 2 apps coded by someone else. Then i would research if i/o can be joined and automated (something like scheduled task on win environment). Unfortunately, can't help much more because i'm unfamiliar with those tools, products and technologies.
Anyway - it seems to me like quite hard and dirty task and i wish you good luck. :)
Depend on what is that you are using to implement the website.. in general it is pretty easy with ODBC (In Java , I did it using the jdbc-odbc bridge)

New Project : MySQL or SQL 2005 Express

I am starting a new client/server project at work and I want to start using some of the newer technologies I've been reading about, LINQ and Generics being the main ones. Up until now I have been developing these types of applications with MySQL as clients were unwilling to pay the large licence costs for MSSQL.
I have played around a small amount with the express versions but have never actually developed anything with them. The new application will not have more than 5 concurrent connections but will be needed for daily reporting.
Can MSSQL 2005 express still be downloaded? I cant seem to find it on the microsoft site. I would be hesitant to use MSSQL 2008 on a project so soon after its release.
Are the express version adequate for my needs, I'm sure loads of people reading this have used them. Did you encounter any problems?
The answer to the question on any project in regards to what platform/technologies to use is: What does everyone know best?
Yes express can still be downloaded.
Will it fit your requirements? That depends on your requirements, of course. I have deployed MSSQL2005 Express on several enterprise level projects which I knew had a fixed database size that would never be exceeded (Express has a limit of each database of 4Gb). Also keep in mind there are other hardware constraints such as a 1 cpu limit.
Another thing to consider is if you need the Enterprise level tools that come with a paid edition of SQL Server. If you are moving a lot of flat data around you are stuck writing your own Bulk Copy Procs, which rule the house, but its an extra step, no doubt.
Note sure about #2 but you can download SQL Server Express 2005 here.
Sql express has more features, and is a lot more powerful, but will only run on windows boxes. If you ever need to scale Sql express can be switched easily to a commercial variant.
MySql doesn't support half the features, but does have most of the basic ones you actually need, and will run on windows or *nix boxes. It's also not throttled in the same way as Sql express is.
In my opinion (having used both extensively, but not touched MySql for a few years) Sql express is a far better DB system. If you're building .Net applications the Linq support is a deal clincher.
If you aren't going for pure Sql server support, I wouldn't go for pure MySql support instead. Use a DBFactory design pattern to load your data layer or use simple SQL:92 syntax that's a lowest common denominator.
Why not go to Sql server express 2008?
I'm mostly going to advocate MS SQL Server because of .NET integration. Linq To Sql is pretty much my favorite way to do deal with databases these days: anonymous functions make everything better! My current place of work has also used MSSQL Express for real projects, so you have at least two of us confirming that the restrictions aren't too harsh.
I have about 50 web sites running perl/apache/mysql and about 10 running C#/ASP.Net/SQL Server (Lite) and other (large) applications running on SQL Server (Heavy). I never have problems with SQL Server - it just works. I often have problems with MySQL.
My advice would be to go for the SQL Server based option even if you had to pay for it.