问题标签 [doctrine-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.
doctrine-orm - 教义模式差异——没有对象
我正在寻找一种通过将 dev 与暂存环境进行比较来自动生成迁移的方法。然后,这些迁移将在推送到登台环境时自动应用
Doctrine 有一个很好的迁移模块,但对于我来说,我无法弄清楚。似乎它使用实体来构建在我的情况下自己不起作用的迁移——因为我此时只使用 DBAL。
我想我会寻找一个较低级别的工具来分析两个数据库并为我生成原始 SQL 以向上或向下迁移——有什么建议吗?
symfony - 使用 Symfony2 迁移时,不考虑可空参数的变化
我在 Symonfy2 (2.3) 中使用迁移。当我从以下位置更改任何实体中的字段时:
到
并运行
然后没有检测到变化。
这是预期的行为吗?如果是,我应该如何更新我的数据库(开发、测试、登台和产品)?
谢谢
sql-server - 字符串和二进制数据将在 Laravel db:seed 中被截断
我有一个问题,为 SQL Server 2012 生成的种子输出此错误
即使我已确保将架构设置为正确包含数据
这是种子
任何帮助或提示将不胜感激!:)
根据@patricus 的提示,我发现 SQL Server 中生成的列只有 nvarchar(100) 而不是 nvarchar(300)。即使我已将类型更改为longText
in 迁移,生成的列仍然是nvarchar(100)
php - Doctrine 自动生成的迁移无法识别外键约束
通过命令创建迁移时,doctrine:migrations:diff
我得到一个之后无法执行的迁移。
我有以下情况:
我有 2 个实体 (parent
和child
)many to many
彼此之间存在关系。于是教义为它生成了一个映射表parents_childs
。目前这两个实体具有id
as 整数,现在我想将类型更改为 a bigint
。
当我创建迁移时,我得到如下信息:
在执行迁移时:
SQLSTATE [HY000]:一般错误:1025 将“./symfony_dev/#sql-379_34”重命名为“./symfony_dev/oauth_client”时出错(错误号:150)
SHOW ENGINE INNODB STATUS ;
给我以下关于约束错误的消息:
---------------------- 最新的外键错误 ---------- -- 150218 14:28:19 表 my_db/parents_childs 的外键约束出错:引用表中没有包含作为第一列的列的索引,或者引用表中的数据类型与中的数据类型不匹配桌子。约束: , CONSTRAINT "FK_98FFA0B4D395B25E" FOREIGN KEY ("parent_id") REFERENCES "parents" ("id") 表中外键的索引是 "PRIMARY" 见 http://dev.mysql.com/doc/refman/ 5.5/en/innodb-foreign-key-constraints.html 用于正确的外键定义。
父实体定义:
子实体定义:
删除外键,执行更新并再次添加它会起作用,很难我实际上不想手动执行它,因为它也会影响更多的表。
所以我现在不确定 Doctrine 是否无法正确识别外键,或者我做错了什么?
php - Composer - 安装 github fork/branch
为什么作曲家无法从https://github.com/wimvds/DoctrineMigrationsBundle/tree/feature/multiple-em-support安装分支?
我的作曲家.json:
错误:
没有“包”的更简单方法有效:
symfony - 如何在使用 addSql 的学说迁移中将字段设置为 null?
我正在使用 更新我的一个学说迁移中的实体Doctrine\DBAL\Migrations\AbstractMigration::addSql($sql, array $params = array(), array $types = array())
,我必须将一列设置为空。
我已经对其进行了调试,并尝试将类型设置为,\PDO::PARAM_NULL
但我遇到了同样的问题。
SQL:
例外:
有谁知道如何解决这个问题?
谢谢
database - 我无法通过 Composer 安装 Doctrine Migrations
我到处搜索以解决我的问题,但我认为我的问题是一个新问题并且没有解决方案。
我已经在我的作曲家文件中添加了学说/迁移,当我输入
这个问题出现了:
我的作曲家文件:
有什么想法有什么问题吗?
在对 /var/www/vendor 进行 chmod 后,我得到了这个:
symfony - Symfony2 中的 Doctrine 迁移可以使用不同的数据库凭据吗?
如何配置 SymfonyDoctrineMigrationsBundle
以对其使用不同的数据库身份验证凭据DoctrineBundle
——或者至少,DoctrineBundle
与应用程序中其他地方使用的不同连接?
我们希望应用程序仅以有限的权限连接到数据库,例如无法发出 DDL 命令,例如 CREATE
、ALTER
或DROP
。但是,迁移将需要执行此类 DDL 命令,因此应以具有提升权限的用户身份连接。这可能吗?
symfony - 实体类使用的特征中无法识别实体关系
如果我有一个使用声明实体关系的特征的实体类,则命令将忽略这些实体关系php app/console doctrine:migrations:diff
。
我假设它与 Symfony 命令相同php app/console doctrine:schema:update --force
。
例如:
将生成一个创建字段 fk_another 的迁移,因为VARCHAR(255)
没有任何索引。
php - 尝试生成迁移文件时出错
我目前正在做一个 Symfony 项目,代码在一个git
repo 中。我们在一个故事/一个分支的基础上工作,在我们获得代码审查之前不要推送代码。
在问之前,我想说一个可行的解决方案(已经在本地尝试过)是将其中一个分支合并到我当前正在工作的分支中,但由于流程的原因我不能这样做。
所以,话虽这么说,这是我的问题:
在一个分支中,我以这种方式配置了我的学说数据库:
这工作正常,如果我尝试生成迁移文件,它会毫无问题地生成。
当我尝试在此分支中生成迁移时,我收到以下错误:
奇怪的事实是,这在我在另一个分支中工作之后开始发生,正如我在开始时所说,如果我将工作分支合并到非工作分支中,迁移文件就可以生成。
我尝试了一些显而易见的事情,比如清理 symfony 缓存(dev 和 prod 环境,以防万一),更新作曲家文件(因为第一个配置是由我需要使用的组件添加的,所以在我的第二个分支中它被删除了),检查其他配置文件之类config-dev.yml
的,只是为了仔细检查我没有遗漏什么。我什至硬删除了我的缓存目录。
我对可能发生的事情一无所知,就像它以某种方式缓存我的配置文件一样,但这应该是不可能的!
我找到了这篇文章,但这不是发生在我身上的事情。