Читая документацию, все, что я мог сделать, это правило:
https://mysite.test/* fbclid=:val1 https://mysite.test/:splat 301
, но оно не работает.
Этот сценарий оболочки помогает Вам
#!/bin/sh
if [ "x$1" == "x" ]; then
echo "Usage: $0 <dumpname>"
exit
fi
cat $1 |
grep -v ' KEY "' |
grep -v ' UNIQUE KEY "' |
grep -v ' PRIMARY KEY ' |
sed '/^SET/d' |
sed 's/ unsigned / /g' |
sed 's/ auto_increment/ primary key autoincrement/g' |
sed 's/ smallint([0-9]*) / integer /g' |
sed 's/ tinyint([0-9]*) / integer /g' |
sed 's/ int([0-9]*) / integer /g' |
sed 's/ character set [^ ]* / /g' |
sed 's/ enum([^)]*) / varchar(255) /g' |
sed 's/ on update [^,]*//g' |
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;
}
' > $1.sql
cat $1.sql | sqlite3 $1.db > $1.err
ERRORS=`cat $1.err | wc -l`
if [ $ERRORS == 0 ]; then
echo "Conversion completed without error. Output file: $1.db"
rm $1.sql
rm $1.err
rm tmp
else
echo "There were errors during conversion. Please review $1.err and $1.sql for details."
fi
Чтобы заставить приведенный выше сценарий работать, я внес следующие изменения:
моя команда mysqldump выглядела так:
$ mysqldump -u usernmae -h host --compatible = ansi --skip-opt -p database_name> dump_file
Тогда все заработало ... спасибо за сценарий.
отлично работает на Centos 5.3 64bit. как только у вас есть выходной файл, загрузите его так:
shell> sqlite3 file_name.db SQLite версии 3.3.6 Введите ".help" для получения инструкций. sqlite>. базы данных seq имя файла
0 главный / текущий_каталог/ имя_файла.db
sqlite> выберите * из таблицы;
.
.
.
.
.
полученные результаты...
sqlite> .quit
Когда база данных sqlite3 будет использоваться с ruby, вы можете изменить:
tinyint([0-9]*)
на:
sed 's/ tinyint(1*) / boolean/g ' |
sed 's/ tinyint([0|2-9]*) / integer /g' |
увы, это работает только наполовину, потому что, хотя вы вставляете 1 и 0 в поле с пометкой boolean, sqlite3 хранит их как 1 и 0, так что вам нужно пройти и сделать что-то вроде:
Table.find(:all, :conditions => {:column => 1 }).each { |t| t.column = true }.each(&:save)
Table.find(:all, :conditions => {:column => 0 }).each { |t| t.column = false}.each(&:save)
но было полезно иметь sql-файл, чтобы посмотреть на него, чтобы найти все булевы.