文档章节

Laravel- 数据库迁移

ouhoo
 ouhoo
发布于 2017/05/03 16:06
字数 422
阅读 13
收藏 0

 

问题1: 默认字符串字段的长度是255
D:\Dev_PHP\wamp\www\laravels\BaseManage>php artisan migrate
  [Illuminate\Database\QueryException]
  SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes (SQL: alter table `users` add unique `users_email_unique`(`email`))
  [PDOException]
  SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes

参考:http://www.cnblogs.com/betx/p/6544090.html

思考:
(1) 生产环境如果使用了artisan的数据库rollback或者reset命令,则后果很严重,因此可以在down方法里面做个判断,生产环境则不执行drop table的操作。

(2) 迁移文件: Create table的时候,如果对表有修改,可以增加table_update迁移文件,在里面的up方法增加、删除、修改字段。
    Schema::table("users",function (Blueprint $table){
            $table->string("name2");
        });

(3) 本地Hoozt_ScreenManage在连接238.61数据库的时候,laravel的log报错说连接不上数据库,貌似首先在尝试使用默认的配置而不是自己写的配置,待查。
    Next exception 'Illuminate\Database\QueryException' with message 'SQLSTATE[HY000] [1045] Access denied for user 'forge'@'localhost' (using password: NO) (SQL: select * from `admin_permissions`)' in D:\Dev_PHP\wamp\www\laravels\baier_gxy\Hoozt_ScreenManage\vendor\laravel\framework\src\Illuminate\Database\Connection.php:647

(4) Hoozt_ScreenManage的AreaInitSeeder里面的SQL字符串,使用了Heredoc方式声明字符串;
    http://php.net/manual/zh/language.types.string.php#language.types.string.syntax.heredoc

(5) HereDoc方式 定义字符串和数组, 然后当成sql的key-value如何?

(6) 如果删除一个Migration文件,但是又不方便使用migration reset或者 rollback,可以这么做:

   (1)删除迁移文件; (2)执行composer dump-autoload; (3) 手工在数据库改动相应的地方;

    http://www.jianshu.com/p/7332dbb69898

    https://laravel-china.org/topics/1002/deep-composer-autoload

    http://www.jyguagua.com/?p=2602

    
    
问题2:
多数据库连接问题
http://blog.csdn.net/u011132987/article/details/54669254
http://wenda.golaravel.com/question/57
 

© 著作权归作者所有

ouhoo
粉丝 2
博文 60
码字总数 19756
作品 0
昌平
程序员
私信 提问
Laravel4.1数据库 数据库迁移(三)

该章节内容翻译自《Database Migration using Laravel》,一切版权为原作者。 原作者:Stable Host, LLC 正文: Laravel鼓励敏捷、迭代的开发方式,我们没指望在第一次就获得所有正确的。相反...

botkenni
2016/11/16
5
0
Laravel4.1数据库 数据库迁移案例(四)

创建迁移 首先,让我们创建一个MySql数据库“Laravel_db”。接下来打开app/config目录下的database.php文件。请确保default键值是mysql: 1 return array(2 ...3 'default' => 'mysql', 然后输......

botkenni
2016/11/16
3
0
Laravel5.2之Demo——用Ajax来做个ToDoList(待更新)

引言 本文基于Laravel框架做的一个URL生成和存储demo,主要目的是学习使用Laravel框架。内容基于英文书籍《Packt.Laravel.Application.Development.Blueprints》第二章节,似乎没有中文版。书...

botkenni
2016/10/25
55
0
Laravel4.1数据库 数据库迁移案例2——创建数据结构,数据表,修改数据结构(五)

默认假设 所有的列在定义的时候都有默认的假设,你可以根据需要重写。 Laravel假定每个表都有一个数值型的主键(通常命名为”id”),确保新加入的每一行都是唯一的。Laravel只有在每个表都有...

botkenni
2016/11/16
7
0
laravel一些特别爽的指令php artisan

刚开始玩laravel的时候,遇到的每一个问题,我是手动创建,然后粘贴复制,命名空间,有时候还会报错,太麻烦了,最近做项目,偶然间发现了新大陆,哈哈哈,就是php artisan这个指令,据说,a...

老鼠会怕喵
2016/12/21
87
3

没有更多内容

加载失败,请刷新页面

加载更多

gradle grovvy中的闭包

1. 无参数的闭包 //这b1就是一个闭包def b1={ println "hello b1"}//定义方法,包含闭包类型的参数def method1(Closure closure){closure()}//执行method1method1(b1) 执行结果 ...

edison_kwok
13分钟前
1
0
基于Spring Boot + Dubbo的全链路日志追踪(一)

一、 概要 当前公司后端整体架构为:Spring Boot + Dubbo。由于早期项目进度等原因,对日志这块没有统一的规范,基本上是每个项目自己管自己的日志。这也对后面的问题排查带来了很大的困难,...

明天以后
今天
6
0
安装fastdfs文件服务器步骤

1、安装libfastcommon wget https://github.com/happyfish100/libfastcommon/archive/master.zip 解压后安装 cd fastcommon-master ./make.sh ./make.sh install 2、安装 FastDFS,从sourcef......

lsjlgo
今天
3
0
MySQL 5.7 免安装版配置

下载地址:https://dev.mysql.com/downloads/mysql/ 安装步骤 1.下载zip解压到目录下 2.配置环境变量 新建系统变量:MYSQL_HOME,值:D:\DevelopmentTool\Mysql-5.7.26-winx64 修改path变量:...

华山猛男
今天
7
0
java map的遍历

//从大的角度可以分为两类Set<String> set=map.keySet();这里面还可以分为3类, 从set的角度来分 //Set<Map.Entry<String, String>> entery=map.entrySet(); public class Test { public sta......

南桥北木
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部