标签:
1、migrate使用 用sqlite做实验
在配置文件中database.php中选择sqlite,并保证默认的数据库是存在的,如果没有新建对应的数据库
‘sqlite‘ => [ ‘driver‘ => ‘sqlite‘, ‘database‘ => storage_path().‘/database.sqlite‘, //就是在文件下stroage中的数据库文件database.sqlite 如果不存在需要新建 ‘prefix‘ => ‘‘, ],
用navicat连接这个sqlite数据库,发现这个库现在是空的,如图
在目录migration下发现有连个文件
2014_10_12_000000_create_users_table.php
2014_10_12_100000_create_password_resets_t
2、在命令行下执行 php artisan migrate ,如果migration下的文件有改动,将更改对应的sqlite数据表,结果如下图
此时在sqlite中将新建立对应的表,在navicat中查看如下
新建立了四张表,其中migration和sqlite_sequence是用来管理migration的。
重复步骤2 发现返回的结果是
表示在数据库中的文件与migration中的文件是一致的,没有更改。
在命令行输入php artisan发现关于migration的命令如下
rollback 可以返回上部的操作
如果改动了migration下文件的一个数据表字段,只要重新执行php artisan migrate就可以重新覆盖掉原来的数据表文件。
如何建立migration文件呢?
在命令行中执行php artisan make:migration create_articles_table --create="articles"
可以在项目的文件下看到新生成的一个文件如下
use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateArticlesTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create(‘articles‘, function(Blueprint $table) { $table->increments(‘id‘); $table->timestamps(); //在数据表中会多两个字段 更改和添加的字段 类型是datetime 可以在这下面添加其他的数据类型
}); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::drop(‘articles‘); } }
然后执行 php artisan migrate 就会生成对应的新表。
标签:
原文地址:http://www.cnblogs.com/webclz/p/4309191.html