php
と laravel
で書(shū)かれた Web アプリケーションを JavaScript スタックに書(shū)き直しています?,F(xiàn)在、mysql から postgres へのデータベース スキーマを再設(shè)計(jì)しています。
次の create table
コマンド
私の理解では、上記と同等の postgres
は
しかし、$table->string('ip_address', 45)->nullable();
を翻訳したかどうかはわかりません。なぜなら、string('ip_address' , 45 )
がやってます。
potgres への変換は正しいですか、それとも postgres create コマンドで同等のものを取得するには何を変更する必要がありますか?
たとえば、開(kāi)発者の意図に応じて、artisan
コマンドの移行を利用できます。 Laravel の移行を Raw SQL スクリプトに変換する方法で説明されています 次を使用できます:
ただし、これを?qū)g際に機(jī)能させるにはデータベース サーバーが必要であるという注意點(diǎn)があります。ターゲット データベースに migrations
テーブルが存在しない場(chǎng)合は作成しますが、移行ではテーブルは作成されません。また、migrations
テーブルにも従うため、pretend
を?qū)g行する前に、新しいデータベースを使用するか、migrations
テーブルを切り詰める必要がある場(chǎng)合があります。
あるいは、Laravel の SQL 「構(gòu)文」コード を詳しく調(diào)べて理解することもできます。殘念ながら、まだ誰(shuí)もそれを読みやすい參照表を作成していません。
あなたの場(chǎng)合、大まかに次のように変換されます:
Laravel | ポストグレ |
---|---|
$テーブル->文字列('id')->一意(); |
id ??varchar |
$table->unsignedInteger('user_id')->nullable(); |
user_id 整數(shù) 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 整數(shù) |