我用一个无用的盒子复制了一个项目,该项目安装了Debian,Nginx,PhpMyAdmin等。在新项目中,Laravel php artisan migrate
不再起作用,并且出现错误:
[Illuminate\Database\QueryException]
SQLSTATE[HY000]: General error: 1709 Index column size too large. The maximum column size is 767 bytes. (SQL: alter table `courses` add unique `courses_name_unique`(`na
me`))
当我对工作中的项目数据库进行转储(结构+数据)并将其导入数据库中时,如果存在迁移错误,则一切正常,它将创建所有表并导入数据。
如何固定大小以便可以运行migration方法?
如您在错误消息中所看到的-
如果要在其上创建索引,则“最大列大小为767字节”。甲VARCHAR(255)
柱可能需要多达765(255×3)个字节使用utf8
和1020(255 * 4)字节使用utf8mb4
。这是因为在MySQL
utf8
中最多占用3个字节和utf8mb4
最多4个字节(实际的UTF8)。因此创建一个VARCHAR(255)
(唯一的)索引utf8mb4
将失败。
这是解决问题的选项:
在中设置默认排序规则my.ini
:
collation_server=utf8_unicode_ci
character_set_server=utf8
在创建时为数据库设置默认排序规则:
CREATE DATABASE IF NOT EXISTS `your_db` COLLATE 'utf8_unicode_ci'
设置表/列的默认排序规则。(我不建议这样做)
将列大小更改为190(varchar(190)
)或更小。
Mysql服务器配置被Laravel的迁移命令覆盖。它将排序规则和字符集设置为配置的版本。
更改位于中的数据库配置文件中db引擎的字段charset
和。collation``config/database.php
..
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
//'charset' => 'utf8mb4',
//'collation' => 'utf8mb4_unicode_ci',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
..
我复制了一个带有安装Debian、Nginx、PhpMyAdmin的vagrant box的项目。。在新项目中,Laravel的不再工作,我得到了错误: 当我做一个转储(结构数据)的工作项目数据库,并将其导入到数据库中,给出了迁移的错误,然后一切正常,它创建了所有的表和数据被导入。. 如何修复大小以便运行迁移方法?
我试图迭代元素,在这里我必须为每个元素获取文本体,但在打印第一个元素体之后,下一个元素体我将获得“java.lang.IndexOutOfBoundsException:Index:1,Size:1”。我知道这是非常简单的修复,但我无法修复它。请帮助我解决此问题。 在下面的代码中,当“String text=KpiText.get(i).getText();”第二次打印时出现“java.lang.
问题内容: 我想确定索引的大小,它们是主键索引。这碰巧是在mysql集群上,但我认为这并不重要。 问题答案: 我认为这就是您要寻找的。 http://dev.mysql.com/doc/refman/5.1/zh-CN/show-table- status.html
问题内容: 我创建了一个表格,并意外地将length 改为。我该如何解决? 一个例子将不胜感激。 问题答案: 你有尝试过吗? 这会将 col_name 的类型更改为
问题内容: 我正在尝试制作一个Java桌面应用程序,其中我要使用多个应用程序,我要设置的固定高度和宽度。我该如何实现? 这是我的代码 当我减少文本大小或文本 ,然后尺寸缩小但我想,当我减少或消除任何文字,但JLabel的大小不应该减少它应该修复 我怎么能得到这个? 提前致谢 问题答案: 您可以通过设置最小,首选和最大大小来设置固定大小: 当链接从 MadProgrammer ,你需要重写这些方法,
我用两个容器运行docker的环境。我注意到Overly2文件夹太大了。当docker关闭(docker compose down)时,Overly2文件夹的大小为2.3GB。当容器运行时,Overly2文件夹将增加到4.0GB,并且随着时间的推移而增加。这正常吗? 命令停止容器: 命令,容器运行: 编辑 命令