cari

Rumah  >  Soal Jawab  >  teks badan

Tulis semula tajuk sebagai: Tukar kod sql php laravel kepada format postgres

Saya sedang menulis semula aplikasi web yang ditulis dalam phplaravel ke dalam timbunan JavaScript. Pada masa ini saya sedang mereka bentuk semula skema pangkalan data saya, yang nampaknya mysql kepada postgres.

Saya agak keliru tentang beberapa sintaks create table perintah berikut

public function up()
    {
        Schema::create('sessions', function (Blueprint $table) {
            $table->string('id')->unique();
            $table->unsignedInteger('user_id')->nullable();
            $table->string('ip_address', 45)->nullable();
            $table->text('user_agent')->nullable();
            $table->text('payload');
            $table->integer('last_activity');
        });
    }

Dari pemahaman saya, persamaan postgres di atas ialah

create table sessions (
    id text unique not null,
    user_id int references users,
    ip_address text,
    user_agent text,
    payload text,
    last_activity integer
    
);

Tetapi saya tidak pasti sama ada saya menterjemahnya dengan betul $table->string('ip_address', 45)->nullable(); ,因为我不确定 string('ip_address', 45 ) sedang melakukannya.

Adakah penukaran saya kepada potgres betul, atau adakah sesuatu yang perlu saya ubah untuk mendapatkan yang setara dalam arahan create postgres?

P粉252116587P粉252116587317 hari yang lalu446

membalas semua(1)saya akan balas

  • P粉184747536

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

    Sebagai contoh, anda boleh memanfaatkan penghijrahan arahan artisan seperti yang dimaksudkan oleh pembangun. Ia diterangkan dalam Cara Menukar Migrasi Laravel kepada Skrip SQL Mentah Anda boleh menggunakan:

    php artisan migrate --pretend

    Walau bagaimanapun, ia disertakan dengan kaveat, anda perlu mempunyai pelayan pangkalan data yang tersedia untuk ini benar-benar berfungsi. Ia akan mencipta jadual migrations表(如果不存在),但不会在迁移中创建任何表。它还将遵循 migrations 表,因此您可能需要在运行 pretend 之前使用新数据库或截断 migrations dalam pangkalan data sasaran.

    Sebagai alternatif, anda boleh menggali Kod "sintaks" SQL Laravel dan ketahui. Malangnya, belum ada sesiapa yang membuat jadual rujukan yang mudah dibaca untuknya.

    Dalam kes anda, ia secara kasarnya diterjemahkan seperti berikut:

    Laravel Postgre
    $table->string('id')->unique(); id varchar
    $table->unsignedInteger('user_id')->nullable(); user_id 整数 null
    $table->string('ip_address', 45)->nullable(); ip_address varchar(45) null
    $table->text('user_agent')->nullable(); user_agent varchar null
    $table->text('payload'); 有效负载文本
    $table->integer('last_activity'); last_activity 整数

    balas
    0
  • Batalbalas