2017-03-17 7 views
0

私はActiveRecordを使ってデータベースを設定しているSinatraアプリを持っています。Sinatraでschema.rbの代わりにstructure.sqlを使用するように設定するにはどうすればよいですか?

このデータベースの癖の1つ(文字列の主キー)のため、Ruby(schema.rb)ではなくSQLスキーマ(structure.sql)を使用します。私はこれが特定のデータベースのフレーバーを使用することに制限されていても構いません。私たちはPostgresを何とか使用します。

これをRailsで実現するには、config.active_record.schema_format = :sqlconfig/application.rbに入れます。シナトラで同じことをどうやってやるの?

+0

これはSinatraの質問ではありません。ActiveRecordに関する質問です。シナトラはただの無礼な傍観者です。 –

+0

あなたはPadrinoを使用して見たいかもしれません。 Sinatraの上に座っていますが、Railsのようなジェネレータとヘルパーがたくさんあります。 Sinatraは素晴らしく、DBMで作業することができますが、最終的にはより多くのコードを書くことになります。 –

+0

これはSinatraに関する質問ですが、Sinatraには当てはまりません(上記のように)Railsフレームワークでそれを行う方法を簡単に見つけることができますが、そうであれば、手動で設定することができます適用する。 – PJSCopeland

答えて

0

Sinatraで手作業でデータベースを設定するのは簡単です。 ActiveRecord Migrationsを使用するのではなく、MySQLでテーブルを構築するのが好きです。

代わりに発電機を使っての手によって、データベースのモデルを作成する必要がありますし、あなたの接続を管理するには、この行を追加します:

ActiveRecord::Base.establish_connection(database_settings) 

これは超簡単です。通常、YAMLファイルから設定を読み込みます。自動化されたテストを書くときには複雑になります。私が書いたブログはhow to set up automated tests with Sinatra, MiniTest, and ActiveRecordです。

+0

Sinatraをセットアップするのではなく、ActiveRecordをセットアップしています。 SinatraはURLを扱うための唯一のDSLです。 –

関連する問題