migration php,Laravel框架之Migration使用教程

提到 Laravel, 像我前面说的,商业气息太浓,其本身用了 Composer 的加载和 Symfony 框架的库和大量的第三方的库,这样综合性太强的软件系统性能是不会很高也不会很稳定的。说起 Artisan,也只能如我前面说的: 它实现了对象的 ArrayAccess 接口,使用了 Closure,使得其代码看起来有点艺术,但是遗憾的是, PHP 本身的代码风格就是不太优雅的,纵使这样,让人感觉有很多的奇怪。Laravel 内部使用了依赖注入的 Service 架构反而增加的开发的成本,并且使用 Composer 的自动加载就是很麻烦的一件事情,如果 PHP 都这样玩了还不如直接用 Java。但是现实是,很多企业都选择了它。

前段时间看到一位同仁问另一位同事关于 PHP 中 use 和 require 的区别,Ta 弄不明白为什么有时候用 require, 有时候用 use; 而另外一个同事的回复让我更加不可思议,Ta 说 require 可以用来加载文件, Use 是用来加载类。他们可是有能力在使用了 Laravel 框架的大型复杂项目中编程的工程师,竟然搞不清这个问题,这些都是使用框架带来的笑话。

其实,我是不太喜欢 Laravel 框架的,抛开其他的不说,第一:它让开发成本大大增加,我认为,需求变化,代码需要修改是非常正常的事情,最重要的还不是架构,而是工程师对系统是不是足够熟悉,并且没有哪种架构能够在需求修改的情况下完全不修改代码。第二:框架应该解决的只是框架该做的事情,当一件事不能近乎完美的解决的时候,最好不要触碰;比如分页,比如 Migration,我第一次构建项目的时候,由于 Migration 太多,卡在那里半个小时没有反应,以为死掉了。

言归正传,开始 Migrations 教程。

Migration 是用来控制数据库版本的。

增加数据表,参数 --table 最好带上,命令如下:php artisan make:migration create_tableName_table --create=tableName

修改数据表,命令如下:php artisan make:migration add_columnName_to_tableName_table --table=tableName

up down 方法的常用写法:// 连接其他数据库

public function up()

Schema::connection('name_dw')->create('dw_team_main_community_daily', function (Blueprint $table) {

$table->increments('id')->comment('主键id号');

$table->integer('team_id')->default(0)->comment('队伍id号');

$table->string('team_name')->default('')->comment('队伍名称');

$table->float('coverage_percent')->default(0)->comment('覆盖率');

$table->timestamps();

$table->index('team_id');

});

}

public function down()

{

Schema::connection('name_dw')->drop('dw_broker_main_community_daily');

}

// 默认数据库

public function up()

{

Schema::table('community_team', function (Blueprint $table) {

$table->renameColumn('team_id', 'agent_id');

$table->integer('group_id')->default(0)->comment('组id号');

$table->integer('broker_id')->default(0)->comment('经纪人id号');

});

}

/**

* Reverse the migrations.

*

* @return void

*/

public function down()

{

Schema::table('community_team', function (Blueprint $table) {

$table->renameColumn('agent_id', 'team_id');

$table->dropColumn('group_id');

$table->dropColumn('broker_id');

});

}

// 软删除

$table->softDeletes();

// double 精度

$table->double('standard_person_avg_rate', 15, 8)->default(0)->comment('人均达标率');

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Laravel 是一款基于 PHP 语言的开源 Web 应用框架,它采用了 MVC(Model-View-Controller)的软件设计模式,具有高效、简洁、优雅、可扩展等特点,被广泛应用于 Web 应用开发领域。在学习 Laravel 框架的过程中,可以进行一些实验来深入了解 Laravel 的特点和使用方法。 下面总结一些常见的 Laravel 实验: 1. 新建 Laravel 项目:在命令行中进入目标文件夹,输入 `composer create-project laravel/laravel` 命令即可新建 Laravel 项目。 2. 数据库迁移:Laravel 提供了数据库迁移功能,可以简化数据库表的创建和修改。在命令行中输入 `php artisan make:migration create_users_table` 命令即可创建一个名为 create_users_table 的迁移文件,修改该文件可以定义用户表的结构,然后运行 `php artisan migrate` 命令即可将表结构同步到数据库中。 3. 路由设置:Laravel 的路由设置非常简便,可以通过在 `routes/web.php` 文件中添加路由来定义 URL 和对应的控制器方法。例如,可以通过以下代码来定义一个 `/home` 的路由: ``` Route::get('/home', 'HomeController@index'); ``` 4. 控制器设置:Laravel 的控制器可以通过命令行快速创建,例如,可以通过 `php artisan make:controller HomeController` 命令来创建一个名为 HomeController 的控制器。然后,在该控制器中定义一个 `index` 方法,即可在路由中调用该方法。 5. 视图设置:Laravel 的视图文件存放在 `resources/views` 目录下,可以通过在控制器方法中返回视图文件名的方式来渲染视图。例如,可以在 HomeController 中添加以下代码: ``` public function index() { return view('home'); } ``` 6. 表单验证:Laravel 提供了表单验证功能,可以在控制器方法中通过 `validate` 方法对表单数据进行验证。例如,可以在 HomeController 中添加以下代码: ``` public function store(Request $request) { $validatedData = $request->validate([ 'name' => 'required|max:255', 'email' => 'required|email|unique:users', 'password' => 'required|confirmed|min:6', ]); } ``` 以上就是一些常见的 Laravel 实验总结,通过这些实验可以更深入地了解 Laravel 的特点和使用方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值