问题标签 [laravel-migrations]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
laravel - 删除 Laravel 4.2 表的最佳方法是什么?
我一直在根据文档使用迁移创建表,现在我已经重建了我网站的一部分,现在我不需要我的旧表之一。
我可以:
A) 创建一个新的迁移文件并告诉它在“up”函数中删除表,这在语义上没有意义,但从程序的角度来看是有意义的。
或者
B)我可以手动对特定迁移运行回滚,这在语义上确实有意义,但在程序上没有意义,并且需要使用 CLI 进行手动操作,这意味着使用该软件的任何人都有额外的步骤,除非我也删除了迁移文件,现在这在语义上没有意义,如果有人发出重置,就会丢失迁移。
我错过了更好的选择吗?
php - Laravel 寻找其他迁移
我有两个 Laravel 项目。它们位于不同的文件夹中。在那之前没关系。
目前我的项目使用 Laravel 5。最后一个。
我有一个尝试迁移的项目。但是,我不知道它为什么要寻找另一个迁移文件。
我使用以下命令运行/project1
查找:/project1/database/migrations
php工匠迁移:刷新
project2
但是,它还会查找上述/project1/database/migrations
类似的迁移:
绝对不存在。因为它不属于/project1
. 看着:
那么,Laravel 如何尝试加载任何其他项目的迁移?
Ps.:我已经尝试清除 Laravel 应用程序缓存。但是,错误仍然存在。
laravel-4 - 子类化迁移器不适用于命名空间迁移
我有一些命名空间的迁移,由于命名空间,我无法通过 Class Not Found 错误。 在较早的问题中, 安东尼奥·卡洛斯·里贝罗 ( Antonio Carlos Ribeiro ) 说:
Laravel 迁移器不适用于命名空间迁移。在这种情况下,最好的办法是继承并替换 Migrator 类,就像 Christopher Pitt 在他的博客文章中解释的那样:https ://medium.com/laravel-4/6e75f99cdb0 。
我已经尝试过这样做(当然,随后是composer dump-autoload
),但我继续收到 Class Not Found 错误。我已将项目文件设置为
迁移文件本身如下:
Migrator.php 如下:
MigrationServiceProvider.php 如下:
autoload_classmap.php 中生成的行与预期的一样:
我正在打电话php artisan migrate --path="appTruancy/database/migrations"
,我收到错误:
我知道我一定是在做一些愚蠢的事情(我的直觉$class = "Truancy\\" . studly_case($file);
在 Migrator.php 中是错误的),但我无法拧开这个灯泡。migrate 命令显然成功地找到了我的迁移文件,并且正确的类名在类映射中,所以它必须在从文件中解析类名本身的过程中,子类和替换应该解决这个问题。关于我哪里出错的任何建议?
php - 未找到列:1054 laravel 4 中的未知问题
在 laravel 4 中显示一对多关系时我遇到了这个问题
但我已经查看了迁移文件和数据库表,我看到了这个名为teach_sub_id 的列。为什么 laravel 抛出这个 QueryException。
有什么建议么 ?
laravel - PDOException (1044) SQLSTATE[HY000] [1044] 用户''@'localhost'拒绝访问数据库'forge'
我正在使用 Laravel 5 并遇到以下异常:
PDOException (1044) SQLSTATE[HY000] [1044] 用户''@'localhost'拒绝访问数据库'forge'
我的数据库配置文件是:
我该如何解决?
php - Laravel 迁移是如何工作的?
我对这种类型的框架完全陌生。我来自准系统 PHP 开发,我似乎无法找到一个易于理解的指南,迁移实际上做了什么。
我正在尝试创建一个已经拥有现有数据库的项目。我用过这个:https://github.com/Xethron/migrations-generator[1]但是通过迁移对架构进行更改似乎会吐出错误,这意味着我不知道我在做什么。
我真的需要简单了解迁移的实际作用、它们如何影响数据库以及您认为对绝对初学者有帮助的任何其他内容。
php - 有没有办法使用 Laravel 5 Migrations 创建一个 citext 字段?
具体来说,由于 MySQL 没有该字段类型,因此原始数据库查询似乎是个坏主意。由于 pgsql 默认缺少不区分大小写的文本字段,我们不得不使用这个扩展(当然,它工作得很好),但现在面临迁移的两难境地。
php - Artisan,在数据库中创建表
我正在尝试在 Laravel 5 中创建 mysql 表。我创建了一个/project/database/migrations
名为users.php
:
然后我尝试在project
-folder 中运行这些命令:
它们都没有返回任何输出,也没有创建表。要填充的数据库存在。
php - Laravel 迁移已删除的文件
我正在研究 Laracasts Laravel 5 Fundamentals 但是当再次运行迁移时,我发现我有重复的迁移,我认为我应该删除它。所以我做了......然后开始了我的问题。
当我现在尝试加载迁移时,出现以下错误:
[ErrorException]
include(/home/vagrant/Code/Laravel/database/migrations/2015_05_24_211527_create_articles_table.php): failed to
open stream: No such file or directory
但是,当我检查我的数据库时(请注意,我已删除并重新创建它以解决我的问题)并且 mirgations 表中只有两条记录:
vagrant@homestead:~/Code/Laravel$ sqlite3 storage/database.sqlite
SQLite version 3.8.6 2014-08-15 11:46:33
Enter ".help" for usage hints.
sqlite> select * from migrations;
2014_10_12_000000_create_users_table|1
2014_10_12_100000_create_password_resets_table|1
sqlite>
任何帮助将不胜感激,如果我是个白痴并且遗漏了一些明显的东西,请随时指出这一点。
谢谢!
php - 在播种两个时间戳列laravel 5时,数据库迁移会引发错误
我扩展了默认迁移,为我的用户表包含了一些额外的表字段。
我想拥有created_at
和updated_at
字段timestamps
作为值。
这是我的代码
障碍是使用两个时间戳列不会迁移表并引发此异常
看,我只有一列 name created_at
,所以这个例外没有意义。但是,当我删除其中一个时间戳字段时,表会被迁移。
我不知道是什么原因造成的?