MySQL Dump SQL को Sqlite3 DB में कनवर्ट करना
SQLite3 डेटाबेस में MySQL डंप SQL फ़ाइल को आयात करने के लिए अनुकूलता सुनिश्चित करने के लिए रूपांतरण की आवश्यकता होती है।
प्रदान की गई शेल स्क्रिप्ट डंप फ़ाइल को परिवर्तित करने का एक स्वचालित तरीका प्रदान करती है:
#!/bin/sh
# Usage: $0
if [ "x$1" == "x" ]; then
echo "Usage: $0 "
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
; तब
इको "उपयोग: $0 "
बाहर निकलना
फाई
बिल्ली $1 |
grep -v ' कुंजी "' |
grep -v 'अद्वितीय कुंजी "' |
ग्रेप -v 'प्राथमिक कुंजी' |
sed '/^SET/d' |
sed 's/ अहस्ताक्षरित / /g' |
sed 's/ auto_increment/ प्राथमिक कुंजी autoincrement/g' |
sed 's/ Smallint([0-9]*) / पूर्णांक /g' |
sed 's/ tinyint([0-9]*) / पूर्णांक /g' |
sed 's/ int([0-9]*) / पूर्णांक /g' |
sed 's/ कैरेक्टर सेट [^ ]* / /g' |
sed 's/ enum([^)]*) / varchar(255) /g' |
sed 's/ अद्यतन पर [^,]*//g' |
perl -e 'local $/;$_=;s/,\n\)/\n\)/gs;प्रिंट "begin;\n";प्रिंट;प्रिंट "commit;\n"' |
पर्ल-पे '
अगर (/^(डालें?)\(/) {
$a=$1;
s/\\'\''/'\'\''/g;
s/\\n/\n/g;
s/\),\(/\);\n$a\(/g;
}
' > $1.sql
बिल्ली $1.एसक्यूएल | sqlite3 $1.db > $1.त्रुटि
ERRORS=`बिल्ली $1.err | डब्ल्यूसी -एल`
यदि [ $त्रुटि == 0 ]; तब
इको "रूपांतरण बिना किसी त्रुटि के पूरा हुआ। आउटपुट फ़ाइल: $1.db"
आरएम $1.एसक्यूएल
आरएम $1.त्रुटि
आरएम टीएमपी
अन्य
इको "रूपांतरण के दौरान त्रुटियां थीं। विवरण के लिए कृपया $1.err और $1.sql की समीक्षा करें।"
fiस्क्रिप्ट निम्नलिखित परिवर्तन करती है:अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3