2012-04-16 8 views
4

私は現在のDatabase#schemaをダンプすることができますが、私はそのスキーマを使って(別のデータベースに)新しいテーブルを作成したいと思いますが、これはどうやって行えますか?スキーマからテーブルを作成しますか? Ruby Sequel gemを使用

DB = Sequel.connect('sqlite:///database_from.db') 
schema = DB.schema :table 
# schema => [[:id, {:auto_increment=>true, :allow_null=>false, :default=>nil, :primary_key=>true, :db_type=>"smallint(5) unsigned", :type=>:integer, :ruby_default=>nil}], [:field, {:allow_null=>true, :default=>nil, :primary_key=>false, :db_type=>"smallint(5) unsigned", :type=>:integer, :ruby_default=>nil}]] 

DB2 = Sequel.connect('sqlite:///database_to.db') 
DB2.create_table('table name', schema) #< allowing this would be cool! 

答えて

1

一つの方法は、それをデータベースからコピーをダンプMigrations

  1. を介して行うことができます: - へ

    sequel -d mysql://[email protected]/database1 > db/001_test.rb

  2. 編集のみ必要なテーブルが含まれています。

  3. は、新しいDBに移行を実行します -

    sequel -m db/ mysql://[email protected]/database2

関連する問題