以下にデータベース移行を作成しました。私がやりたいのは、主キーとしてIDを使用してaccountsテーブルを作成することです。ただし、1から自動インクリメントするキーは必要ありません。800500から自動インクリメントする必要があります。
このように主キーのデフォルト値を設定する方法はありますか?
現在、Laravelv4.2.11とsqlitev3.8.3を使用しています。
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateAccountsTable extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('accounts', function(Blueprint $table)
{
$table->increments('id')->unsigned()->default(800500);
$table->string('name', 100);
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('accounts');
}
}
スキーマビルダーのdefault
メソッド
列のデフォルト値を宣言します
特定の値から開始する増分が必要な場合は、この回答を参照してください。クエリを移行に追加します。
public function up()
{
Schema::create('accounts', function(Blueprint $table)
{
$table->increments('id');
$table->string('name', 100);
$table->timestamps();
});
DB::statement("UPDATE SQLITE_SEQUENCE SET seq = 800500 WHERE name = 'accounts'");
}
これを行うための「laravel」の方法はありません。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加