我必须手动在rails 3.1.1 app中创建一个sqlite3数据库,使用mysql2sqlite工具从mysql数据库转换,然后运行:
sqlite3 development.sqlite3 < mysql2sqlite_dump.sql
无论如何,development.sqlite3
文件就在那里,服务器启动正常,所有页面都正常加载(没有关于丢失表或任何东西的数据库错误),但数据没有被读取...就好像它不存在一样。例如,即使在控制台中运行Event.all
也会给我:
Event Load (0.1ms) SELECT "events".* FROM "events"
=> []
什么时候应该有几个事件。查看sqlite3
文件,我可以看到所有信息都在那里,但它只是没有被阅读。如果有人要求,我会发布部分数据库文件。
我的问题是:为什么数据库没有被正确读取,我怎么能这样做呢?
感谢。
答案 0 :(得分:0)
好吧,我好像已经解决了这个问题。问题是mysqldump
(在mysql2sqlite
脚本中执行)正在丢弃,然后创建表(这是默认的),并且与模式文件冲突。因此,我根据模式文件创建了数据库,然后再次为--no-create-info
添加mysqldump
选项运行脚本,以便它只插入信息。
感谢大家的帮助!