exports.up = async (knex) => { await knex.schema.alterTable('actors_social', (table) => { table.integer('profile_id') .references('id') .inTable('actors_profiles'); table.dropUnique(['url', 'actor_id']); table.unique(['url', 'actor_id', 'profile_id']); }); await knex.raw(` CREATE UNIQUE INDEX actors_social_url_actor_id_null_unique ON actors_social (url, actor_id) WHERE profile_id IS NULL; `); }; exports.down = async (knex) => { await knex.raw(` DROP INDEX actors_social_url_actor_id_null_unique; `); await knex.schema.alterTable('actors_social', (table) => { table.dropUnique(['url', 'actor_id', 'profile_id']); table.unique(['url', 'actor_id']); table.dropColumn('profile_id'); }); };