CLI を使用してテーブル定義とデータ フィクスチャをロードする順序を指定できるかどうか疑問に思っていました。私の問題は、2 つのテーブルがあり、それぞれが他方を指す外部キー制約を持っているため、レコードが追加された後に制約の 1 つを追加する必要があることです。または、これを行うためのより良い方法があるかもしれません...私はデータベースの専門家ではなく、今日は頭がぼやけています。
スキーマ:
CREATE TABLE clients (
id INT AUTO_INCREMENT,
name VARCHAR(255), address VARCHAR(255),
primary_contact_user_id INT # References a user record in the users table
...
);
CREATE TABLE users (
id INT AUTO_INCREMENT,
username VARCHAR(255),
client_id INT # References a client record in the clients table
...
);
ALTER TABLE clients
ADD CONSTRAINT clients_primary_contact_user_id_users_id
FOREIGN KEY (primary_contact_user_id) REFERENCES users(id);
ALTER TABLE users
ADD CONSTRAINT users_client_id_clients_id
FOREIGN KEY (client_id) REFERENCES clients(id);