Hello, I’ve been building an app recently that has a model Books
That should be Book. Rails model names are singular by convention.
Table names are plural.
is a database table
No! Models are not database tables; please don’t think of them that
way. They refer to database tables, but the Ruby objects and the DB
records and tables are not the same thing.
and linked to several models/controllers. I
recently learned that instead of Books it needs to be called
publications (just an example)…
I now want to update the database and all the mentions throughout the
app. Is there a simple way to do that in Rails 3. Or do I have to
migrate that particular table (via version?)
Version? Huh? Just write a migration that changes the name of the
Note also that you can use set_table_name to specify a different table
name than the one Rails would expect. Thus, you can change the class
name or the table name without also changing the other. I wouldn’t
advise breaking the Rails conventions unless you have a good reason to.
and manually update all
the references throughout the app?
Yup. Your automated tests will break when they encounter the old class
name and let you know where to change it.