저는 php
和 laravel
로 작성된 웹 애플리케이션을 JavaScript 스택으로 다시 작성하고 있습니다. 현재 저는 mysql에서 postgres로 변경되는 것으로 보이는 데이터베이스 스키마를 재설계하고 있습니다.
다음 create table
명령의 구문 중 일부가 약간 혼란스럽습니다
제가 이해한 바에 따르면 위의 postgres
에 해당하는 것은
근데 제가 제대로 번역하고 있는지 모르겠네요$table->string('ip_address', 45)->nullable();
,因为我不确定 string('ip_address', 45 )
하고 있습니다.
potgres로의 변환이 올바른가요, 아니면 postgres create 명령에서 이에 상응하는 결과를 얻으려면 변경해야 할 사항이 있습니까?
예를 들어 개발자가 의도한 대로
으아악artisan
명령의 마이그레이션을 활용할 수 있습니다. Laravel 마이그레이션을 원시 SQL 스크립트로 변환하는 방법에 설명되어 있습니다. 다음을 사용할 수 있습니다.그러나 주의할 점은 이것이 실제로 작동하려면 데이터베이스 서버를 사용할 수 있어야 한다는 것입니다. 대상 데이터베이스에
migrations
表(如果不存在),但不会在迁移中创建任何表。它还将遵循migrations
表,因此您可能需要在运行pretend
之前使用新数据库或截断migrations
테이블이 생성됩니다.또는 Laravel의 SQL "구문" 코드를 자세히 살펴보세요. 불행하게도 아직까지 읽기 쉬운 참조표를 만든 사람은 없습니다.
귀하의 경우 대략 다음과 같이 번역됩니다.
$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 整数