1

これら2つのテーブルが与えられた場合

CREATE TABLE [dbo].[ASTROLOGY_SIGN](
  [SIGN_ID] [int] NOT NULL,
 CONSTRAINT [PK_ASTROLOGY_SIGN] PRIMARY KEY NONCLUSTERED 


CREATE TABLE [dbo].[ACTIVITY_MASTER](
  [ACTIVITY_ID] [int] IDENTITY(1,1) NOT NULL,
 CONSTRAINT [PK_ACTIVITY_MASTER] PRIMARY KEY NONCLUSTERED 

rails は schema.rb に次の 2 つのエントリを生成します。

create_table "ASTROLOGY_SIGN", :id => false, :force => true do |t|
create_table "ACTIVITY_MASTER", :primary_key => "ACTIVITY_ID", :force => true do |t|

スキーマを使用して sqlserver から postgres に移行しようとしていますが、問題が発生しています。多くのテーブルがあり、手動で編集する必要はありません。

4

1 に答える 1

1

友人がこれを助けてくれるかもしれません... SQLServer のテーブルとその列には、結合関係としていくつかの関係があります。見る:

select * from INFORMATION_SCHEMA.TABLES join INFORMATION_SCHEMA.COLUMNS on 
INFORMATION_SCHEMA.TABLES.TABLE_NAME = INFORMATION_SCHEMA.COLUMNS.TABLE_NAME

このすべての情報を使用して、それらを変換する小さなプログラムをプログラムできます。テーブルと列に関するこの情報にアクセスし、それらを文字列に置き換えることで、postgres .lookのクエリである文字列にアクセスできることを意味しました。

for(every table in INFORMATION_SCHEMA.TABLES )
{
    string postgres_query = "create_table " + TABLE_NAME + ", :id => false, :force => true do |t|"
    exec(postgres_query)
}

次に、すべてのテーブルに対して datacenter(postgres) に実行します。もちろん、正確に必要なものに最適化する必要があります。これは正しいコードではないことを知っています

于 2013-05-08T18:34:33.390 に答える