Files
fullodds.club/lib/full_odds/db/migrations/20261019115728_initial_tables.rb
T
2026-10-25 23:19:29 -06:00

55 lines
1.6 KiB
Ruby

require_relative '../../versions'
Sequel.migration do
change do
create_table(:users) do
primary_key :id
String :email, null: false, unique: true
String :name
DateTime :created_at, default: Sequel::CURRENT_TIMESTAMP
DateTime :updated_at, default: Sequel::CURRENT_TIMESTAMP
end
create_table(:identities) do
primary_key :id
foreign_key :user_id, :users, null: false, on_delete: :cascade
String :provider, null: false
String :uid, null: false
String :token, text: true
String :refresh_token, text: true
DateTime :expires_at
DateTime :created_at, default: Sequel::CURRENT_TIMESTAMP
DateTime :updated_at, default: Sequel::CURRENT_TIMESTAMP
unique [:provider, :uid]
end
create_enum(:project_type, %w[sbq hunt bingo dtq])
create_table(:pokemon) do
primary_key :id
String :name, unique: true, null: false, index: true
FO::Versions::VERSIONS_BY_GENERATION
.values
.map { |g| g[:version_groups] }
.reduce(&:+)
.each { |version|
TrueClass ("version_#{version}").to_sym, default: false
File ("version_#{version}_sprite").to_sym
}
DateTime :created_at, default: Sequel::CURRENT_TIMESTAMP
DateTime :updated_at, default: Sequel::CURRENT_TIMESTAMP
end
create_table(:projects) do
primary_key :id
foreign_key :user_id, :users, null: false, on_delete: :cascade
column :data, :jsonb, null: false
column :type, :project_type
DateTime :created_at, default: Sequel::CURRENT_TIMESTAMP
DateTime :updated_at, default: Sequel::CURRENT_TIMESTAMP
end
end
end