I am starting to write a new, web-based frontend for an existing
Delphi / MSSQL application. I am now looking at Rails as I want to use
the framework's convenient ways to build a smooth user experience.
Now, I have a few basic concerns, which I couldn't really answer
myself by using Google.
We will transfer a lot of data (products, customers, invoices, etc.)
from the local MSSQL database to the webserver's MySQL database.
Rowcount is in the 100,000. This data will be used for displaying or
searching purposes only, that means there will absolutely nothing but
reads from these tables. They all come with their primary and foreign
keys (everything is integer).
Now, I would like to use these existing primary keys for my Rails
application - instead of having another "id" primary key generated by
Rails. Will that give me problems later on? Is it an absolute
necessity for Rails to give all tables it's own primary key? I don't
understand ActiveRecord well enough to see the consequences.
If it is indeed possible, then it should be okay to import data
outside of Rails, namely by mysqlimport from the command line. I did
some tests with ar-extensions and fastercsv, but they are both not
workable solutions because of server load and speed issues. Will Rails
ever notice if I fill it's tables from the "outside" ?
For some of these tables, I will even use data with gaps (skipped rows
when exporting), so there are gaps in the primary keys. Is that a
Last question - if I use helpers such as act_as_taggable on these
tables, is it possible to keep the tags in a separate table? Remember,
I can only use the imported data for reading.
Maybe now you're thinking I shouldn't use Rails for this project in
the first place - if so, I also would like to hear what you have to
Thanks a lot guys, I appreciate any help, you don't have to answer all
the questions of course