foalfetch/db/migrate/20240401101354_initial.rb

64 lines
2.2 KiB
Ruby
Raw Normal View History

class Initial < ActiveRecord::Migration[7.0]
def change
#create_enum :story_completion_status, %w[hiatus incomplete complete cancelled]
#create_enum :story_content_rating, %w[teen everyone mature]
create_table :authors do |t|
t.text :name, null: false
t.integer :num_blog_posts, null: false, default: 0
t.integer :num_followers, null: false, default: 0
t.text :avatar, null: true
t.text :bio_html, null: true
t.datetime :date_joined, null: false
t.text :url, null: false
end
create_table :stories do |t|
t.belongs_to :author, null: false
t.integer :color, null: true
# t.enum :completion_status, enum_type: 'story_completion_status', null: false
# t.enum :content_rating, enum_type: 'story_content_rating', null: false
t.text :completion_status
t.text :content_rating
t.text :cover_image, null: true
t.datetime :date_published, null: false
t.datetime :date_updated, null: true
t.datetime :date_modified, null: true
t.text :description_html, null: true
t.integer :num_comments, null: false, default: 0
t.integer :num_views, null: false, default: 0
t.integer :num_words, null: false
t.integer :prequel, null: true
t.integer :rating, null: false
t.text :short_description, null: true
t.text :title, null: false
t.integer :total_num_views, null: false, default: 0
t.text :url, null: false
end
create_table :chapters do |t|
t.belongs_to :story, null: false
t.integer :number, null: false, default: 1
t.datetime :date_published, null: false
t.datetime :date_modified, null: true
t.integer :num_views, null: false, default: 0
t.integer :num_words, null: false
t.text :title, null: false
t.text :url, null: false
t.text :body, null: false
end
create_table :tags do |t|
t.text :name, null: false
t.text :old_id, null: true
t.text :url, null: false
t.text :type, null: false
end
create_table :story_taggings, id: false, primary_key: [:story_id, :tag_id] do |t|
t.belongs_to :story, null: false
t.belongs_to :tag, null: false
end
end
end