I've got some problems right now using the new model for relationships in fixtures (by label, not by id) and STI. What I've got, is a couple of models:
Attachment --> FileDownload Version
Version has_one file_download with file_download_id on the versions table
In my fixtures, I have two FileDownloads in my attachments.yml like so:
hemingway_alpha_zip: size: 100 filename: hemingway_alpha.zip content_type: application/zip type: FileDownload project: hemingway
now, in my versions.yml, I have:
alpha: name: Alpha 1 revision: 2 description: this is the first alpha release for hemingway! project: hemingway file_download: hemingway_alpha_zip created_at: <%= (Time.now - 5.days).to_formatted_s(:db) %>
The problem I'm having is that it's trying to put file_download into a column in versions when I run rake test:units
ActiveRecord::StatementInvalid: Mysql::Error: #42S22Unknown column 'file_download' in 'field list': INSERT INTO `versions` (`file_download`, `name`, `project_id`, `updated_at`, `id`, `revision`, `description`, `created_at`) VALUES ('hemingway_alpha_zip', 'Alpha 1', 2980859, '2007-11-14 11:23:26', 296151536, 2, 'this is the first alpha release for hemingway!', '2007-11-09 11:23:26')
Now, I've got two questions:
a) How can I make it think that file_download is a relationship and not a field? b) How can I get that label-hash id manually? (i.e. alpha --> 296151536) in case I just need to hack it in manually?