手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表全部文章

laravel migratie 创建外键

 laravel migratie 创建外键的时候报错:

SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL: alter table `classname` add constraint `classname_classname_id_foreign` foreign key (`classname_id`) references `classnamev2` (`id`))
 
表名都是测试用的。看了一下,原来是因为classnamev2用了$table->id()来创建主键。所以在创建外键的时候,必须要字段格式完全一致,关联字段必须得unsignedBigInteger()才OK。
 
默认的主键是无符号大整型,仅仅记录一下。用migrate的时候不能弄混了。
 
 

Tags: laravel

2年不到,掉了1000的电池容量了

mac下运行ioreg -rn AppleSmartBattery | grep -i capacity

可以得到:
XML/HTML代码
  1. "AppleRawCurrentCapacity" = 6392  
  2.   
  3. "AppleRawMaxCapacity" = 6452  
  4.   
  5. "MaxCapacity" = 6452  
  6.   
  7. "CurrentCapacity" = 6392  
  8.   
  9. "LegacyBatteryInfo" = {"Amperage"=18446744073709551590,"Flags"=5,"Capacity"=6452,"Current"=6392,"Voltage"=12923,"Cycle Count"=94}  
  10.   
  11. "DesignCapacity" = 7336  
  12.   
  13. "BatteryData" = {"StateOfCharge"=100,"PMUConfigured"=0,"Voltage"=12930,"QmaxCell1"=7165,"AdapterPower"=1109165984,"SystemPower"=1108102207,"ResScale"=220,"QmaxCell2"=7161,"QmaxCell0"=7192,"CycleCount"=94,"DesignCapacity"=7336}  
设计容量 7336,现在只有 6392了。。。2年不到,掉了1000了。。。不知道还能再战多久

 

再次更换了数据库

应该感觉到数据库变快了吧。毕竟原来连接要30多ms,现在只要2ms了。。。主要还是因为走的公网链接。可能会有点慢

预计今年6月份会再来一波更新。下次更新可能就会考虑整体换了(再换就真的考虑将sablog换成自己写的了)毕竟sablog已经用了12年多了,而且原作者都被抓进去了。。。
 
不太想再坚持了。想换个笨重一点的laravel。。嗯,附件也想换到七牛或者又拍。不然每次迁移都得COPY几百M的东西

坑:vlucas/phpdotenv 不再解析 []

 用过laravel的人都知道 .env 文件是一个非常方便的玩意。比如你配置APP_DEBUG=true,就可以直接用env('APP_DEBUG')来判断。
正常的.env文件就是象这样:
APP_DEBUG=true
APP_NAME=laravel
APP_DESC="如果有特殊符号,需要加双引号,比如#&^%之类的"

在早期的版本中,我用来区分配置块,采用了中括号,如[app],代表下一段的内容都是和APP相关,就象这样

[APP]
APP_DEBUG=true

[DATABASE]
DB_NAME=XXX

然而,刚才部署laravel7的时候,在composer update的过程中就直接报错了:

The environment file is invalid!

Failed to parse dotenv file due to an invalid name. Failed at [[APP]].

咦,这是从什么时候开始不再支持[APP]这样的分块了?为什么喜欢用[]来分块?是因为ini文件中,会将[]当成namespace来处理,早期的 zend 框架也是这样。所以就习惯了。。。。

然后呢?然后,我现在配置文件分块,只能用#来了。。

所以前面的配置文件就变成了;

#app
APP_DEBUG=true

突然一下子觉得好不习惯。。。但,也只能忍忍了

mysql快速复制一个库

 习惯了用navicat之后。居然不会用命令行了。。。

记录一下算是备份
1、进入mysql命令行,创建一个新库,create database xxxx; //先看一下旧库的格式。用show create database `库名`,主要是看一下旧数据库的编码:
     CREATE DATABASE `xxx` DEFAULT CHARACTER SET UTF8 COLLATE UTF8_GENERAL_CI;
 
2、mysqldump 旧库 -u root -p123456 --add-drop-table | mysql 新库 -u root -p123456
     假设密码是123456
 
3、grant 权限给指定的用户
    grant all privileges on xxx.* to 'user'@'localhost' identified by 'password',很方便的指定。记得localhost那个地方尽量不要留空。留空默认代码的是%
 
4、真正要用的时候,其实查一查都OK。。
Records:289012345678910»