2012-06-21 4 views
25

データソースエクスプローラを使用してeclipseからGoogle Cloud SQLデータベースに接続しました。しかし、そのデータベースのDDLをオプションGenerate DDLを使用して生成すると、スクリプト内にAUTO_INCREMENTを取得することはできませんが、対応する主キーが取得されます。スクリプトでeclipse原因の問題を使用してGoogle Cloud SqlからデータベースのDDL文を生成していますか?

スクリプトでAUTO_INCREMENTを取得するにはどうすればよいですか?

+0

Google Plugin for Eclipseを使用していますか? –

+0

@ Neil H、はい私はGoogleプラグインを使用しています –

+1

あなたはあなたの質問を再度読んで、別の言い方をすることを勧めます。そうでなければ質問しません。 1つの文(2番目の文)ですべてを説明しようとするのではなく、2つ以上の文を追加するだけです。 –

答えて

0

たぶんこのことができます:

CREATE TABLE tabelle 
(
feld datentyp [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT] [COMMENT 'string'], 
CONSTRAINT name 
    PRIMARY KEY (feld1, feld2, ...) 
    FOREIGN KEY (feld1, feld2, ...) REFERENCES tabelle (feld1, feld2) 
) 

出典:http://www.tinohempel.de/info/info/datenbank/sql_tabelle.htm
それはドイツ語でですが、例は非常に優れているDDLを使用しての

Google Cloud SQL Step 3

別の例はこれです!

私はあなたの質問を正しく理解しており、これが役に立ちます!

1

これは疑問に直接答えるものではありませんが、根本的な目標であるDDLを抽出するソリューションとなると思います。

仮定:コマンド・ライン・スクリプト(follow the instructions here

  • をインストール

    1. :次はとても適切な環境(OS X、Linuxでは、cygwinのは)

      手順を必要とする、シェルスクリプトです

      google_sql.shと同じディレクトリに次のカスタムスクリプトを作成します。

      GOOGLE_CLOUD_SQL_INSTANCE=test:test 
      
      echo "SELECT CONCAT('SELECT CONCAT(\"SHOW CREATE TABLE ',schema_name,'.\",table_name,\";\") \"select \\\\\"use ',schema_name,';\\\\\";\" FROM information_schema.tables WHERE table_schema = \"',schema_name,'\";') 'use information_schema;' FROM SCHEMATA WHERE schema_name NOT IN ('information_schema','mysql','performance_schema');" >> $$.1.get_schema.sql 
      
      ./google_sql.sh $GOOGLE_CLOUD_SQL_INSTANCE information_schema < $$.1.get_schema.sql > $$.2.show_create.sql 
      
      ./google_sql.sh $GOOGLE_CLOUD_SQL_INSTANCE information_schema < $$.2.show_create.sql > $$.3.sql.out 
      
      ./google_sql.sh $GOOGLE_CLOUD_SQL_INSTANCE information_schema < $$.3.sql.out > $$.4.create.raw 
      
      awk -F" " '/Table Create Table/{print "";} 
      /CREATE/{sub(/^..*CREATE TABLE/,"CREATE TABLE");print $0} 
      $1 == "" {print $0} 
      /^\)/{print $0";"} 
      /^use/{print $0}' $$.4.create.raw > $GOOGLE_CLOUD_SQL_INSTANCE.ddl.sql 
      
      rm $$.* 
      
    2. スクリプト内の「test:test」をGoogle Cloudインスタンス識別子に置き換えます。

    3. スクリプトを実行して、「test:test」.ddl.sqlという形式のファイルを作成します。データベース。
  • 関連する問題