私は、移行のためのスキーマを次ていますLaravelでデータ型を文字列からオートインクリメントに変更する方法は?
Schema::create('client', function(Blueprint $table)
{
$table->increments('id');
$table->string('nbr', 10)->nullable()->default(null);
$table->string('name', 100);
$table->string('search', 100);
$table->string('image', 100)->nullable()->default(null);
}
私は自動インクリメントに文字列「NBR」を変更しようとしています。私はいくつかのソリューションを試してみましたが、それらはいずれも以下を試していないworks.I:
Schema::table('client', function(Blueprint $table)
{
// $table->increments('nbr')->change();
//$table->dropPrimary('nbr');
DB::statement('ALTER TABLE client ALTER COLUMN nbr TYPE Integer NOT NULL AUTO_INCREMENT;');
});
注:私は新しい移行ファイルを作成し、次のコードを追加PostgreSQLの
を実行しますが、 '$卓上> dropColumn( 'NBR')を実行しようとしました;'と比べて単純に '$卓上>インクリメント( 'NBR')を行う;' – AfikDeri
@私はそれを試みたが、私は "テーブルの複数の主キーが許可されていません"エラー – user3810794
私は '$ table-> increment( 'nbr')'がデフォルトでプライマリであると思う、 '$ table-> bigIncrements( 'nbr ') '。わかりませんが、ショットに値する価値があります。 – AfikDeri