对于我们的Mysql数据库,我在log.orm.yml文件中的修改将生成此SQL查询:
ALTER TABLE te_journal_log ADD
user_id INT UNSIGNED DEFAULT NULL;
ALTER TABLE te_journal_log ADD
CONSTRAINT FK_1E6EB7B7A76ED395 FOREIGN KEY (user_id)
REFERENCES te_user_usr (id);
CREATE INDEX IDX_1E6EB7B7A76ED395 ON te_journal_log (user_id);
完美无缺。
但是;-)由于我们的命名政策,我正在搜索如何通过{{替换约束的名称FK_1E6EB7B7A76ED395
和索引的名称IDX_1E6EB7B7A76ED395
1}}和fk_log_user
。我在文档中找不到任何内容。
我查看了源代码,尤其是the 1088th line of AbstractPlatform.php file但它并没有帮我强制使用我的外键名称。你能帮帮我吗?
亚历山大
log.orm.yml文件中的修改:
i3_log
答案 0 :(得分:1)
我认为没有办法重命名约束。您可以删除它并重新创建它。索引也一样:
alter table te_journal_log drop constraint FK_1E6EB7B7A76ED395;
alter table te_journal_log
add constraint fc_tel_userid foreign key (user_id) references te_user_usr (id);
drop index IDX_1E6EB7B7A76ED395;
create index idx_tel_userid on te_journal_log(user_id);
注意:将来,您可以在create table
和create index
语句中提供所需的名称。这是直接在SQL中编写这些语句的一个很好的理由。