I don't like plural table names as a convention, but not enough to not use Rails or change its default behaviors.
For me, it's in the same category as preferring generated primary keys were named <table-name>_id over just "id" - you may have a preference, but it's not got that much big picture importance.
If you have self-referential columns you are going to have to name them something else, like `parent_id` and tell your model code about the discrepancy.
For me, it's in the same category as preferring generated primary keys were named <table-name>_id over just "id" - you may have a preference, but it's not got that much big picture importance.