Sha256: bf9f4c10af6e44042eb91d348c6b0a794784cd255d84a9ec073921e200bd2f4a

Contents?: true

Size: 1.63 KB

Versions: 2

Compression:

Stored size: 1.63 KB

Contents

Sequel.migration do
  up do
    create_table :programs do
      primary_key :id
      String :name, null: false
    end

    create_table :courses do
      primary_key :id
      foreign_key :program_id, :programs, :on_delete => :restrict, :on_update => :restrict
      String :name, null: false
      Date :starts
      Date :ends
    end

    create_table :assignments do
      primary_key :id
      foreign_key :course_id, :courses, :on_delete => :restrict, :on_update => :restrict, :null => false
      String :name, null: false
    end

    create_table :students do
      primary_key :id
      String :name, null: false
    end

    create_table :accounts do
      primary_key :id
      foreign_key :student_id, :students, :on_delete => :restrict, :on_update => :restrict, :null => false
      String :email, null: false
    end

    create_table :profiles do
      foreign_key :student_id, :students, :on_delete => :restrict, :on_update => :restrict, :null => false
      String :bio
      primary_key :student_id
    end

    create_table :enrollments do
      foreign_key :student_id, :on_delete => :restrict, :on_update => :restrict, :null => false
      foreign_key :course_id, :on_delete => :restrict, :on_update => :restrict, :null => false
      primary_key [:student_id, :course_id]
    end

    create_table :categories do
      primary_key :id
      String :name, null: false
    end

    create_table :course_categories do
      foreign_key :course_id, :courses, :on_delete => :restrict, :on_update => :restrict, :null => false
      foreign_key :category_id, :categories, :on_delete => :restrict, :on_update => :restrict, :null => false
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
sequel_deep_dup-0.2.2 spec/support/migrations.rb
sequel_deep_dup-0.2.1 spec/support/migrations.rb