使用迁移文件将MySQL-DB-Dump导入Rails应用程序

时间:2010-08-31 21:07:00

标签: mysql ruby-on-rails database sqlite migration

我有一个带有一堆MySQL表的旧PHP应用程序。我想用Rails(3)重写它并想要导入旧数据。如何编写迁移脚本以将MySQL-Dump导入sqlite DB?

2 个答案:

答案 0 :(得分:0)

判断为什么要从mysql迁移到sqlite3 db是不合理的。为什么不在mysql中运行你的开发环境呢?无论如何,以下是剧本。

#!/bin/sh 

mysqldump --compact --compatible=ansi --default-character-set=binary mydbname | 
grep -v ' KEY "' | 
grep -v ' UNIQUE KEY "' | 
perl -e 'local $/;$_=<>;s/,\n\)/\n\)/gs;print "begin;\n";print;print "commit;\n"' | 
perl -pe ' 
if (/^(INSERT.+?)\(/) { 
$a=$1; 
s/\\'\''/'\'\''/g; 
s/\\n/\n/g; 
s/\),\(/\);\n$a\(/g; 
} ' | sqlite3 output.db

答案 1 :(得分:0)

我使用DATA DB转储(而不是架构)解决了问题,并使用另一个迁移文件和create_table创建了表。