我的Laravel学习之路之migration Laravel自带命令行数据库创建和管理工具
来源:互联网 发布:社保政府补贴数据 编辑:程序博客网 时间:2024/05/16 10:21
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:model Article -m
下面是关于此问题的三个回答:
问题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
阅读全文
0 0
- 我的Laravel学习之路之migration Laravel自带命令行数据库创建和管理工具
- laravel学习之Migration基础
- 我的Laravel学习之路之我的Laravel学习之路之用户注册和登录 Auth
- Laravel- 使用migration 创建数据库
- laravel 之数据迁移 migration
- 我的Laravel学习之路之模板继承
- 我的Laravel学习之路之环境配置
- 我的Laravel学习之路之Eloquent 入门
- 我的Laravel学习之路之表单验证 validation
- 我的Laravel学习之路之Laravel Forms 使用,illuminate/html包
- laravel使用migration表的创建和迁移
- 我的Laravel学习之路之 模型方法queryScope 和字段设置setAttribute
- 我的Laravel学习之路之Route::resource和Form-Model-Binding,
- laravel学习之路3 数据库相关
- Laravel 不能创建 migration 的问题
- Laravel 创建 migration 报错
- laravel 之 数据库
- 我的Laravel学习之路之模板加载,分配变量,简单路由
- SpringMVC hibernate整合时jsp中引用文件问题
- js的单线程和异步
- js attr prop is 的使用
- CrossLight.Pics3D.v2003.12.3.2004.1.8WinALL(激光二极管3D模拟器,好用!)\
- Python——【USACO 3.3.5】——A Game
- 我的Laravel学习之路之migration Laravel自带命令行数据库创建和管理工具
- session和cookie的区别和联系
- 软键盘弹出/缩回事件监听
- Android性能优化之利用强大的LeakCanary检测内存泄漏及解决办法
- 继承(基础)
- easyui中datagrid的destroyUrl方法源码的修改从而使传送的数据是对象
- java源码中的生词摘录成有道词典单词本
- UML类图与类的关系详解
- hibernate和mybatis的区别