欢迎各位兄弟 发布技术文章
这里的技术是共享的
1) 应该可以吧
function up(){
DB::statement('ALTER TABLE `throttle` MODIFY `user_id` INTEGER UNSIGNED NULL;');
DB::statement('UPDATE `throttle` SET `user_id` = NULL WHERE `user_id` = 0;');
}
function down(){
DB::statement('UPDATE `throttle` SET `user_id` = 0 WHERE `user_id` IS NULL;');
DB::statement('ALTER TABLE `throttle` MODIFY `user_id` INTEGER UNSIGNED NOT NULL;');
}
2)
$table->dropColumn('userinfo_accept_number'); $table->dropColumn('userinfo_emaining_number'); $table->dropColumn('userinfo_year');$table->dropColumn('userinfo_end_day');
$table->integer('userinfo_accept_number')->unsigned(); $table->integer('userinfo_emaining_number')->unsigned(); $table->integer('userinfo_year')->unsigned(); $table->timestamp('userinfo_end_day'); 3) 先composer require doctrine/dbal 然后
3) composer require doctrine/dbal 然后
$table->integer('userinfo_accept_number')->unsigned()->change(); $table->integer('userinfo_emaining_number')->unsigned()->change(); $table->integer('userinfo_year')->unsigned()->change(); $table->timestamp('userinfo_end_day')->change();
有可能会报错
[Symfony\Component\Debug\Exception\FatalThrowableError]
Class 'Doctrine\DBAL\Driver\PDOMySql\Driver' not found
,报错的原因可能是doctrine/dbal版本的问题我执行
# composer remove doctrine/dbal #这个好像可以不用执行
# composer require doctrine/dbal:2.12.1 #执行这个就可以了
重命名列
要重命名一个列,可以使用表结构构建器上的 renameColumn
方法,在重命名一个列之前,确保 doctrine/dbal
依赖已经添加到 composer.json
文件并且已经运行了 composer update
命令:
Schema::table('users', function (Blueprint $table) {
$table->renameColumn('from', 'to');
});
注:暂不支持
enum
类型的列的修改和重命名。