Mysql 在添加所有表之后,如何生成添加约束的SQL

Mysql 在添加所有表之后,如何生成添加约束的SQL,mysql,constraints,propel,Mysql,Constraints,Propel,是否可以从schema.xml生成schema.sql,以便在所有创建表之后添加外键约束?我想按字母顺序对schema.xml中的表进行排序,但有些表具有稍后创建的表的外键 因此,不是这个输出: CREATE TABLE t ( id INT NOT NULL AUTO_INCREMENT, u_id INT NOT NULL, PRIMARY KEY(id), INDEX (u_id), FOREIGN KEY (u_id) REFERENC

是否可以从schema.xml生成schema.sql,以便在所有创建表之后添加外键约束?我想按字母顺序对schema.xml中的表进行排序,但有些表具有稍后创建的表的外键

因此,不是这个输出:

CREATE TABLE t (
    id INT NOT NULL AUTO_INCREMENT,
    u_id INT NOT NULL,
    PRIMARY KEY(id),
    INDEX (u_id),
    FOREIGN KEY (u_id)
      REFERENCES u(id)
) ENGINE=INNODB;
CREATE TABLE u (
    id INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(20) NOT NULL,
    PRIMARY KEY(id)
) ENGINE=INNODB;
我想得到这个:

CREATE TABLE t (
    id INT NOT NULL AUTO_INCREMENT,
    u_id INT NOT NULL,
    PRIMARY KEY(id),
    INDEX (u_id)
) ENGINE=INNODB;
CREATE TABLE u (
    id INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(20) NOT NULL,
    PRIMARY KEY(id)
) ENGINE=INNODB;

ALTER TABLE t
    ADD FOREIGN KEY
    u_id (u_id)
    REFERENCES u (id);

对于MySQL,在生成的SQL顶部插入以下语句以创建表:

SET FOREIGN_KEY_CHECKS = 0;
这意味着表的定义顺序不应该是个问题。你的错误是什么