SSL setup: https://vimeo.com/209534466
rails g migration CreateJoinTableGameInvitesInvitees game_invites invitees
- Models linked together must be in alphabetical order when naming the migration file
- the columns can be given any names as long as they are correctly associated in the model file:
has_and_belongs_to_many :invitees, class_name: 'User', foreign_key: 'invitee_id', #the associated column and the alien model
join_table: 'game_invites_invitees', #name of the join table
association_foreign_key: 'game_invite_id' #the name of the domestic model in the join tableSupposing we are using Postgre as a database, it only takes the following steps to use UUIDs as database IDs instead of incremental ones:
- Generate a migration:
rails g migration EnablePgcryptoExtension - Modify the migration file to this:
class EnablePgcryptoExtension < ActiveRecord::Migration[5.1]
def change
enable_extension 'pgcrypto'
end
end- Tell ActiveRecord that the new generator for IDs should be UUIDs:
#config/application.rb
config.generators do |g|
g.orm :active_record, primary_key_type: :uuid
end