Deploying from Windows to Linux?

I’ve been developing my rails app in Windows. The app connects to SQL Server database using the sqladapter gem and through ODBC. I know that the recommended platform for production would be Linux.

Whether its possible to deploy my app to Linux? If yes, how hard would that be?

I don’t know much about the sqladapter gem and how to get it working on Linux (what dependencies, libraries are needed, etc.), but I had a similar situation where I needed to store my data in an SQL Server backend. In my case, I used TorqueBox (a nice JBoss-based Rails server running on JRuby), which included the JDBC drivers for SQL Server (made using SQL Server super, super easy). By using JRuby (Java) instead of the native Ruby, it didn’t matter which platform I used for development, staging, or production; my environment and dependencies were the same regardless of OS.

As far as the actual deployment process, I would seriously consider using Capistrano; I would think it would be possible to use Capistrano on Windows with Cygwin or something similar to deploy to Linux.

Thanks for the info, Josh, but I’m about halfway into my rails app. If I’m to switch over to JRuby, would that mean I have to start from scratch? BTW, I don’t need to store anything into SQL Server. My rails app is just to retrieve the data from SQL Server and output the same in JSON with a REST interface.

At the same time, I’d like to explore this TorqueBox/JRuby. Where do I start?

You're welcome. Moving over to JRuby usually requires little to no
major changes to your code - provided that you do not use any
native-only libraries. Reading vs writing to SQL Server database is
irrelevant in this case, because either way, your database
configuration would be the same. Check out, they have
very good documentation. I'm not sure what kind of application you're
building, but it helps to know that the people behind TorqueBox are
building it to be THE enterprise-class platform upon which to deploy