4

現在のDatabase#schemaをダンプできますが、そのスキーマを使用して(別のデータベースに)新しいテーブルを作成したいのですが、これを行う方法がわかりません。

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!
4

1 に答える 1

2

移行を介して実行できる 1 つの方法

  1. データベースからコピーをダンプします:-

    sequel -d mysql://root@localhost/database1 > db/001_test.rb

  2. 必要なテーブルのみを含めるように編集します。

  3. 新しいデータベースへの移行を実行します:-

    sequel -m db/ mysql://root@localhost/database2

于 2012-04-16T11:00:15.213 に答える