19

文字数制限を増やす必要がある 2 つのフィールドがあります。私はドキュメントを読みましたが、驚いたことに、そのためのオプションが見つかりませんでした。することは可能ですか?そうでない場合、これを解決するにはどうすればよいですか?

列を削除して正しいプロパティで再作成することはできますが、データベース内のデータを失いたくありません。

4

4 に答える 4

26

Laravel4の場合

DB::update('ALTER TABLE `my_table` MODIFY `my_column` VARCHAR(<new length>)');
于 2013-07-03T19:30:43.277 に答える
24

生のクエリを使用する:

/**
 * Make changes to the database.
 *
 * @return void
 */
public function up()
{
  DB::query('ALTER TABLE mytable MODIFY mycolumn VARCHAR(new-length)');
}

/**
 * Revert the changes to the database.
 *
 * @return void
 */
public function down()
{
  DB::query('ALTER TABL mytable MODIFY mycolumn VARCHAR(old-length)');
}

mytable、、および をmycolumn置き換えます。new-lengthold-length

Laravel 5+ の場合は に置き換えDB::queryますDB::statement

于 2012-12-10T17:30:32.593 に答える
1

名前がシステムのキーワードである場合は、列名に `` を使用します。そうしないと、「構文エラーまたはアクセス違反」が発生します。

DB::query("alter table MYTABLE modify `MYCOLUMN` varchar(new-length)");
于 2013-04-01T20:46:24.137 に答える