#!/bin/bash
# 複数の SQLite 3 データベースを SQL テキスト形式でダンプし、
# 1つのデータベース /tmp/alldb に統合する。

# dump bstopdb
cat >/tmp/a.$$.sql <<-SQL
.output /tmp/bstopdb.sql
.dump
.exit
SQL
#
cat /tmp/a.$$.sql | sqlite3 /tmp/bstopdb

# dump estatdb
cat >/tmp/a.$$.sql <<-SQL
.output /tmp/estatdb.sql
.dump
.exit
SQL
#
cat /tmp/a.$$.sql | sqlite3 /tmp/estatdb

# dump ipadicdb
cat >/tmp/a.$$.sql <<-SQL
.output /tmp/ipadicdb.sql
.dump
.exit
SQL
#
cat /tmp/a.$$.sql | sqlite3 /tmp/ipadicdb

# dump quotedb
cat >/tmp/a.$$.sql <<-SQL
.output /tmp/quotedb.sql
.dump
.exit
SQL
#
cat /tmp/a.$$.sql | sqlite3 /tmp/quotedb

# dump zipdb
cat >/tmp/a.$$.sql <<-SQL
.output /tmp/zipdb.sql
.dump
.exit
SQL
#
cat /tmp/a.$$.sql | sqlite3 /tmp/zipdb

# dump stldb
cat >/tmp/a.$$.sql <<-SQL
.output /tmp/stldb.sql
.dump
.exit
SQL
#
cat /tmp/a.$$.sql | sqlite3 /tmp/stldb

# dump ekidb
cat >/tmp/a.$$.sql <<-SQL
.output /tmp/ekidb.sql
.dump
.exit
SQL
#
cat /tmp/a.$$.sql | sqlite3 /tmp/ekidb

# dump osmdb
cat >/tmp/a.$$.sql <<-SQL
.output /tmp/osmdb.sql
.dump
.exit
SQL
#
cat /tmp/a.$$.sql | sqlite3 /tmp/osmdb

# dump rdataset
cat >/tmp/a.$$.sql <<-SQL
.output /tmp/rdataset.sql
.dump
.exit
SQL
#
cat /tmp/a.$$.sql | sqlite3 /tmp/rdataset

# load (すべてのダンプを /tmp/alldb に読み込む)
cat >/tmp/a.$$.sql <<-SQL
.read /tmp/bstopdb.sql
.read /tmp/estatdb.sql
.read /tmp/ipadicdb.sql
.read /tmp/quotedb.sql
.read /tmp/zipdb.sql
.read /tmp/stldb.sql
.read /tmp/ekidb.sql
.read /tmp/osmdb.sql
.read /tmp/rdataset.sql
vacuum;
.exit
SQL
#
rm -f /tmp/alldb
cat /tmp/a.$$.sql | sqlite3 /tmp/alldb

# 一時ファイルの削除
rm -f /tmp/a.$$.sql

# 結果の確認
ls -la /tmp/alldb
echo '.tables' | sqlite3 /tmp/alldb