ホームページ  >  に質問  >  本文

タイトルを次のように書き換えます: php laravel の SQL コードを postgres 形式に変換する

phplaravel で書かれた Web アプリケーションを JavaScript スタックに書き直しています。現在、mysql から postgres へのデータベース スキーマを再設計しています。

次の create table コマンド

の構文の一部について少し混乱しています。 リーリー

私の理解では、上記と同等の postgres

です。 リーリー

しかし、$table->string('ip_address', 45)->nullable(); を翻訳したかどうかはわかりません。なぜなら、string('ip_address' , 45 ) がやってます。

potgres への変換は正しいですか、それとも postgres create コマンドで同等のものを取得するには何を変更する必要がありますか?

P粉252116587P粉252116587251日前393

全員に返信(1)返信します

  • P粉184747536

    P粉1847475362024-01-17 09:24:02

    たとえば、開発者の意図に応じて、artisan コマンドの移行を利用できます。 Laravel の移行を Raw SQL スクリプトに変換する方法で説明されています 次を使用できます:

    リーリー

    ただし、これを実際に機能させるにはデータベース サーバーが必要であるという注意点があります。ターゲット データベースに migrations テーブルが存在しない場合は作成しますが、移行ではテーブルは作成されません。また、migrations テーブルにも従うため、pretend を実行する前に、新しいデータベースを使用するか、migrations テーブルを切り詰める必要がある場合があります。

    あるいは、Laravel の SQL 「構文」コード を詳しく調べて理解することもできます。残念ながら、まだ誰もそれを読みやすい参照表を作成していません。

    あなたの場合、大まかに次のように変換されます:

    Laravel ポストグレ
    $テーブル->文字列('id')->一意(); id ​​varchar
    $table->unsignedInteger('user_id')->nullable(); user_id 整数 null
    $テーブル->文字列('ip_address', 45)->nullable(); ip_address varchar(45) null
    $テーブル->テキスト('user_agent')->nullable(); user_agent varchar null
    $table->text('ペイロード'); ペイロードテキスト
    $table->integer('last_activity'); last_activity 整数

    返事
    0
  • キャンセル返事