```javascript let User = db.define("user", { name: { type: "text", required: true, unique: true }, task_name: String, task_data: Object, last_seen: { type: 'date', time: true }, card_url: { type: 'text' }, }); let Group = db.define("group", { name: { type: "text", required: true }, general_chat: { type: "text", required: true, unique: true }, admin_chat: { type: "text", required: false, unique: true }, }); Group.hasMany("members", User, { rank: [ "unverified", "member", "admin" ], }, { reverse: "groups", key: true }); ``` With debug enabled I get the following querries: ```sql (orm/mysql) SHOW TABLES LIKE 'user' (orm/mysql) CREATE TABLE `user` (`name` VARCHAR(255) NOT NULL, `task_name` VARCHAR(255), `task_data` BLOB, `last_seen` DATETIME, `card_url` VARCHAR(255), `id` INT(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`)) (orm/mysql) SELECT index_name, column_name, non_unique FROM information_schema.statistics WHERE table_schema = 'fetguard' AND table_name = 'user' (orm/mysql) CREATE UNIQUE INDEX `name_unique` ON `user` (`name`) (orm/mysql) SHOW TABLES LIKE 'group_members' (orm/mysql) CREATE TABLE `group_members` (`members_id` INTEGER NOT NULL, `group_id` INTEGER NOT NULL, `rank` ENUM ('unverified','member','admin')) (orm/mysql) SELECT index_name, column_name, non_unique FROM information_schema.statistics WHERE table_schema = 'fetguard' AND table_name = 'group_members' (orm/mysql) CREATE INDEX `members_id_index` ON `group_members` (`members_id`) (orm/mysql) CREATE INDEX `group_id_index` ON `group_members` (`group_id`) (orm/mysql) SHOW TABLES LIKE 'group' (orm/mysql) CREATE TABLE `group` (`name` VARCHAR(255) NOT NULL, `general_chat` VARCHAR(255) NOT NULL, `admin_chat` VARCHAR(255), `id` INT(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`)) (orm/mysql) SELECT index_name, column_name, non_unique FROM information_schema.statistics WHERE table_schema = 'fetguard' AND table_name = 'group' (orm/mysql) CREATE UNIQUE INDEX `general_chat_unique` ON `group` (`general_chat`) (orm/mysql) CREATE UNIQUE INDEX `admin_chat_unique` ON `group` (`admin_chat`) (orm/mysql) SHOW TABLES LIKE 'group_members' (orm/mysql) SHOW TABLES LIKE 'ticket' (orm/mysql) CREATE TABLE `ticket` (`status` ENUM ('started','expired','submitted','completed','denied'), `task` VARCHAR(255), `pic` VARCHAR(255), `started_at` DATETIME NOT NULL, `finish_before` DATETIME NOT NULL, `signed_at` DATETIME, `id` INT(11) NOT NULL AUTO_INCREMENT, `user_id` INTEGER NOT NULL, `group_id` INTEGER NOT NULL, `admin_id` INTEGER, PRIMARY KEY (`id`)) ``` In which you can see the querry for the `group_members` table has no primary key. Removing the `reverse` option causes a querry with primary key to be created.