2014年9月8日月曜日

サーバー側のDBスキーマからCoreDataモデルを生成する


このエントリーをはてなブックマークに追加
前回のJSONからCoreDataモデル生成に引き続き、今回はSQLiteからCoreDataモデル生成です。
Sqlite2CoreDataを使用すると、簡単にSQLiteのDBファイルからCoreDataモデルを生成できます。

Sqlite2CoreData

ググっても317件しかないマイナーツールです。
本邦初公開。

使い方

githubに書いてある通りですが、distribution.zipファイルを解凍して
./sqlite2coredata mydb_file
mv   ~/output/myapp.xcdatamodeld/myapp.xcdatamodel/contents   ~/hoge/myapp.xcdatamodeld/myapp.xcdatamodel/contents

注意

cloneしたディレクトリ外に実行ファイルを移動して使うとmomの生成に失敗します(特に困りませんが)。
また現状blobを上手く型変換してくれないようです。

MySQLから生成

perlのSQL::TranslatorでMySQLのスキーマからSQLiteのスキーマに変換して、Sqlite2CoreDataを使います。 SQL::Translatorをインストールするとsqltスクリプトが付属しているので、
$  sqlt  -f  MySQL  -t  SQLite  ~/test.sql   >  test_sqlite.sql
しかし括弧でサイズ指定などしている箇所が残っているので、ワンライナーで削除しました。

使いどころ

サーバーと同じスキーマが必要なことはまずないですが、まっさらな状態からXcodeのGUIを触るよりはマシ、、

0 件のコメント:

コメントを投稿