Jonathan LaCour schrieb: > > This means that the norm of creating your model and then using > > 'tg-admin sql create' will not work for creating the needed InnoDB > > tables; the tables created will be of the non-transactional MyISAM > > type. Instead, it will be necessary to figure out what SQLObject > > would > > do (probably using debugging output), and then do it manually, with > > just appending 'ENGINE=INNODB' onto the CREATE statements. > > You can do this quite easily by hand by simple doing a `tg-admin sql > sql`, and changing the output to contain the relevant 'ENGINE=INNODB' > data. I also believe that you can set up your MySQL installation to > use InnoDB by default, although I am not positive, as I tend to avoid > MySQL. > > > This sure breaks the 'ease of use' paradigm for TurboGears. What work > > is being done to address this problem? > > Not really. When you choose a database backend, you should be aware > of the limitations of that database, and be prepared to deal with > them. SQLite, for example, also doesn't really support transactions, > but it can still be used as an SQLObject backend. Using transactions > on a database that doesn't support transactions (SQLite, MySQL MyISAM > backend, etc.) won't hurt anything, but transactions just won't > work. This is something that you should know going into using either > MySQL or SQLite. > > It might be wise, however, to have tg-admin prompt a user to ask > which storage mechanism to use if MySQL is the database type, and > warn them that transactions don't work unless you pick InnoDB. > > In the meantime, PostgreSQL is also free, and is a real RDBMS that > doesn't suffer from a weak default storage backend. > > -- > Jonathan LaCour > http://cleverdevil.org
I have for example the case that I use MySQL MyISAM because it supports fulltext indexing and fulltext search. MySQL InnoDB and SQLite don't support fulltext search. (ok, there might be some workarounds...). Roman

