我的Laravel学习之路之migration Laravel自带命令行数据库创建和管理工具
2017-10-09 18:06
471 查看
migration是什么鬼,为什么不能在phpmyadmin和Navicat Premium 管理数据库有什么区别吗
下面是关于此问题的三个回答:
问题1:什么是Migration?
回答:可以将Migration看作一种数据库的VCS(Version Control System),即版本控制系统
可以通过Laravel的artisan命令快速创建或还原Migration文件,来进行数据库的构架。
问题2:为什么要用Migration?
回答:使用Migration可以有效地对数据库进行版本控制,并且遵从了Single Responsibility Principle(单一职责原则),更加方便数据库的操控。
问题3:Migration到底方便在哪里?
基本不需要写SQL代码就能简单快速地组建起数据库结构,并且可以迅速Migrate或者Rollback,实现了数据库的版本控制和管理。
migration的目录在laravel\database\migrations下边,我们可以打开其中的一个文件来看:
这个文件代表生成创建表的信息,字段,类型,名称等等
如何使用,当然是使用php artisan migrate 即可生成默认的两个表,一个是users一个是password_resets
如何创建表呢,我们可以使用以下命令来创建samples_table表
php artisan make:migration create_samples_table --create=samples_table 这条命令来创建Migration文件,
Created Migration: 2017_10_08_011007_create_samples_table,其中前缀是创建该文件的日期和时间
这样会在migrations下面生成一个新的文件2017_10_08_011007_create_samples_table.php
可以看到,Laravel已经添加了三个Columns,一个是id,另外两个分别是由$table->timestamps()创建的created_at和updated_at(类型是DATETIME)。
你可以打开它,修改添加字段信息.然后执行php artisan 来执行创建数据表
关于如何增加字段使用命令:
php artisan make:migration add_into_column_to_samples --table=samlples代码中对应的表明为samples请自行修改,然后在migration下面生成的2017_10_08_043044_add_into_column_to_samples.php文件中
在up方法中添加:$table->string('inrto'); 在down方法中添加$table->dropColumn('inrto');
然后执行php artisan migrate
请注意,使用dropColumn方法是手需要引入一个包,命令如下:composer require doctrine/dbal 如果提示全县问题,也许你需要更换普通用户操作
同时创建表和模型 php artisan make:model Article -m
算了,详细参见:http://blog.csdn.net/lgyaxx/article/details/61615351
以及5.1官网文档:https://laravel.com/docs/5.1/migrations
下面是关于此问题的三个回答:
问题1:什么是Migration?
回答:可以将Migration看作一种数据库的VCS(Version Control System),即版本控制系统
可以通过Laravel的artisan命令快速创建或还原Migration文件,来进行数据库的构架。
问题2:为什么要用Migration?
回答:使用Migration可以有效地对数据库进行版本控制,并且遵从了Single Responsibility Principle(单一职责原则),更加方便数据库的操控。
问题3:Migration到底方便在哪里?
基本不需要写SQL代码就能简单快速地组建起数据库结构,并且可以迅速Migrate或者Rollback,实现了数据库的版本控制和管理。
migration的目录在laravel\database\migrations下边,我们可以打开其中的一个文件来看:
public function up() { Schema::create('users', function (Blueprint $table) { $table->increments('id'); $table->string('name'); $table->string('email')->unique(); $table->string('password', 60); $table->rememberToken(); $table->timestamps(); }); }
这个文件代表生成创建表的信息,字段,类型,名称等等
如何使用,当然是使用php artisan migrate 即可生成默认的两个表,一个是users一个是password_resets
如何创建表呢,我们可以使用以下命令来创建samples_table表
php artisan make:migration create_samples_table --create=samples_table 这条命令来创建Migration文件,
Created Migration: 2017_10_08_011007_create_samples_table,其中前缀是创建该文件的日期和时间
这样会在migrations下面生成一个新的文件2017_10_08_011007_create_samples_table.php
可以看到,Laravel已经添加了三个Columns,一个是id,另外两个分别是由$table->timestamps()创建的created_at和updated_at(类型是DATETIME)。
你可以打开它,修改添加字段信息.然后执行php artisan 来执行创建数据表
关于如何增加字段使用命令:
php artisan make:migration add_into_column_to_samples --table=samlples代码中对应的表明为samples请自行修改,然后在migration下面生成的2017_10_08_043044_add_into_column_to_samples.php文件中
在up方法中添加:$table->string('inrto'); 在down方法中添加$table->dropColumn('inrto');
然后执行php artisan migrate
请注意,使用dropColumn方法是手需要引入一个包,命令如下:composer require doctrine/dbal 如果提示全县问题,也许你需要更换普通用户操作
同时创建表和模型 php artisan make:model Article -m
算了,详细参见:http://blog.csdn.net/lgyaxx/article/details/61615351
以及5.1官网文档:https://laravel.com/docs/5.1/migrations
相关文章推荐
- PythonWeb开发Django框架学习(十一)使用框架自带Admin管理数据库数据
- iOS学习之系统自带的sqlite3的创建数据库、表,插入、查看数据
- mysql 命令行创建数据库操作个人学习
- MariaDb数据库管理系统学习(二)使用HeidiSQL数据库图形化界面管理工具
- MariaDb数据库管理系统学习(二)使用HeidiSQL数据库图形化界面管理工具
- 运行aspnet_regsql命令行实用工具创建和配置数据库出错解决方案
- 数据库系列学习(二)-数据表的创建和管理
- 【MongoDB学习笔记4】MongoDB管理客户端和创建数据库
- Deltasql 数据库版本管理工具学习笔记
- <Linux命令行学习 第二节> CentOS - 远程登录管理工具
- 【SQL Server学习笔记】数据库的创建、设置、空间管理
- android学习--使用adb工具管理sqlite3数据库
- Laravel- 使用migration 创建数据库
- 【SQL Server学习笔记】数据库的创建、设置、空间管理
- 用firebird自带的工具的管理数据库
- laravel学习之路3 数据库相关
- laravel学习之路3 数据库相关
- IntelliJ IDEA 学习笔记 - 数据库管理工具
- etl工具kettle学习——创建数据库连接及转换
- 利用Matlab自带的深度学习工具进行车辆区域检测与车型识别【福利-内附源码与数据库】(二)