php
と laravel
で書かれた Web アプリケーションを JavaScript スタックに書き直しています。現在、mysql から postgres へのデータベース スキーマを再設計しています。
次の create table
コマンド
私の理解では、上記と同等の postgres
は
しかし、$table->string('ip_address', 45)->nullable();
を翻訳したかどうかはわかりません。なぜなら、string('ip_address' , 45 )
がやってます。
potgres への変換は正しいですか、それとも postgres create コマンドで同等のものを取得するには何を変更する必要がありますか?
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 整数 |