任何人都可以详细告诉我如何扩展 Illuminate\Database\Schema 以添加 zerofill 函数并修改当前整数函数以获取长度参数,同时实际上并未修改任何供应商文件.
非常感谢你。
编辑:或者有没有办法使用 Schema Builder 手动添加一列,我只是错过了周五下午沉重的头的原因?
编辑:采用 Gareth Oakley 建议的方法,在 Schema::create() 之后添加 DB::statement() 调用:
<?php
class CreateExamplesTable extends Migration {
public function up()
{
Schema::create('examples', function(Blueprint $table)
{
$table->engine = 'InnoDB';
$table->increments('id')->unsigned();
$table->integer('account_id')->unsigned();
$table->string('card_id', 20)->nullable();
$table->boolean('active')->default(true);
$table->timestamps();
$table->foreign('account_id')->references('id')->on('accounts')->onDelete('cascade')->onUpdate('cascade');
});
DB::statement('ALTER TABLE examples ADD invoice_id INT(6) UNSIGNED ZEROFILL NOT NULL AFTER card_id');
}
public function down()
{
Schema::drop('examples');
}
}