Laravel- 数据库迁移
为什么80%的码农都做不了架构师?>>>
问题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
转载于:https://my.oschina.net/jrrx/blog/891396
Laravel- 数据库迁移相关推荐
- Laravel数据库迁移和填充(支持中文)
写在前面 经常我们做项目都团队协作开发,每个人都在自己本地的数据库,如果你曾经出现过让同事手动在数据库结构中添加字段的情况,数据库迁移可以解决你这个问题. 不仅如此,在线上部署的时候,也避免了手动导入 ...
- larval 数据库迁移
很多人可能在学习Laravel框架的时候,对Laravel的数据库迁移(以下简称Migration)存在着疑惑:到底什么是Migration?为什么要用Migration?Migration到底方便在 ...
- Laravel 实践之路: 数据库迁移与数据填充
数据库迁移实际上就是对数据库库表的结构变化做版本控制,之前对数据库库表结构做修改的方式比较原始,比如说对某张库表新增了一个字段,都是直接在库表中执行alter table xxx add .. 的方式 ...
- Laravel 的数据库迁移
2019独角兽企业重金招聘Python工程师标准>>> 生成迁移 --table 和 --create 选项可用来指定数据表的名称,或是该迁移被执行时会创建的新数据表.这些选项需在预 ...
- 关于laravel 框架运行数据库迁移文件的一个小坑以及常用php artisan命令
小白我因为最近开发的一系列项目都是用的laravel框架,所以为了方便有时候就会直接复制一份代码以此作为新项目的基础.可能因为"因为夜路走多了,所以掉坑里了">>> ...
- laravel 框架中使用数据库迁移添加注释
laravel 框架中数据库迁移添加注释 在使用laravel框架过程中,估计很多人都有用过数据库迁移文件.可能大家都会在建表时为字段添加注释.我在此要说明的是为表添加注释 首先我们需要引入larav ...
- Laravel学习笔记(四)数据库 数据库迁移案例
创建迁移 首先,让我们创建一个MySql数据库"Laravel_db".接下来打开app/config目录下的database.php文件.请确保default键值是mysql: ...
- Laravel学习笔记四-数据库迁移和模型文件
本节将学习使用artisan命令数据库迁移建表,模型文件的学习. 一.数据库迁移 二.模型文件 三.git checkout -f 命令应用 我们在开发中经常会遇到这样的情况,如果一个分支中提交了一个 ...
- laravel 项目迁移_在Laravel迁移
laravel 项目迁移 Before moving forward we need to know some facts about it, 在继续前进之前,我们需要了解一些事实, Resource ...
- laravel 数据库操作(表、字段)
1)创建表(make:migration create),例如创建 articles php artisan make:migration create_articles_table 运行命令后,会在 ...
最新文章
- 独家 | 关于Facebook数据泄露你需要知道的事
- 网站提示java已被阻止_Win7系统下打开网页提示应用程序已被JAVA安全阻止
- 获取服务器信息info
- Spring中引入其他配置文件
- Web Hacking 101 中文版 二十、漏洞报告
- 离开小厂进大厂的第一周:我“后悔”了
- Python使用matplotlib可视化模拟学生成绩饼图
- 介绍一些有趣的MySQL pager命令
- 配置Keepalived双实例高可用Nginx
- 免费会员管理管理系统
- H3C HCL模拟器配置vlan划分案例
- SQL数据计数(count)
- 中文命名实体识别mxnet_bertner_cn
- C++编译调试问题(一)
- 量化对冲策略在内的实践程
- javascript 实现一小时倒计时计时器
- mysql之索引原理与慢查询优化
- 计算机专业英语词典网址大全
- 网站api自己怎么写_藤博士留学 | 自己DIY,留学文书怎么写?
- 朴素贝叶斯分类器之天气预测算法