[followup.]
It looks as if as of 1.1, rails is defaulting mysql table creates to
innodb.
This assumption is, well, presumptuous.
Might it not be better to either use the default database setting
(default table type) ? Or permit the developer to define (may be a
lowest common denominator problem?)
Does rails somehow ‘think’ it knows better than the developer which
table type to choose?
Rails is choosing to clone the test database, enforcing certain table
types for certain tables. The developers tables are being forced to
innodb, and 2 system tables (schema_info and engine_schema_info) to
myisam.
The second is interesting. engine_schema_info (most likely not
favored by rails, grin) is being replicated as myisam. This symptom
suggests that it is possible to to force a particular table type -
but for the life of me, I can’t discover how.
Anybody?
Thanx for reading my outburst. I appreciate any help you may provide!
Jodi
Thanx Rob, setting
config.active_record.schema_format = :sql
corrected the problem.
Rob (anyone?) - I’d like to know the implications of the above? I’ve
looked for docs on Config - nothing on api.rubonrails.com.
* schema.db lokss the same, but now have development_structure.sql
* does this impact migrations? Or just cloning of db structure to test?
Are you absolutely positive the table in question in the dev db is
myisam? Are there any non-native things in the table that
SchemaDumper might not be able to handle, like enums or a primary key
not named “id” ?
And yes I the dev database is myisam. I’m not aware of the
limitations of SchemaDumper, but the datatypes include: int,
datetime, tinyint, varchar & text.
The only thing that comes to mind, is the table breaks innodb’s
maximum row length of 8000 bytes. (which is why I’m using myisam)
Plus, I’m using rails 1.1.2. Would prefer not to migrate at this time.
Thanx for your help Rob.
J