Sha256: 8be578227db9bd89bd9e4fbfa43fcaa294589af47881f6c6a866afe3c87c05ad
Contents?: true
Size: 1.76 KB
Versions: 2
Compression:
Stored size: 1.76 KB
Contents
require "friendly_id/migration" module FriendlyId module Test class Schema < ActiveRecord::Migration class << self def down CreateFriendlyIdSlugs.down tables.each do |name| drop_table name end end def up # TODO: use schema version to avoid ugly hacks like this return if @done CreateFriendlyIdSlugs.up tables.each do |table_name| create_table table_name do |t| t.string :name t.boolean :active end end slugged_tables.each do |table_name| add_column table_name, :slug, :string add_index table_name, :slug, :unique => true end # This will be used to test scopes add_column :novels, :novelist_id, :integer add_column :novels, :publisher_id, :integer remove_index :novels, :slug add_index :novels, [:slug, :publisher_id, :novelist_id], :unique => true # This will be used to test column name quoting add_column :journalists, "strange name", :string # This will be used to test STI add_column :journalists, "type", :string # These will be used to test i18n add_column :journalists, "slug_en", :string add_column :journalists, "slug_es", :string add_column :journalists, "slug_de", :string @done = true end private def slugged_tables ["journalists", "articles", "novelists", "novels", "manuals"] end def simple_tables ["authors", "books", "publishers"] end def tables simple_tables + slugged_tables end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
friendly_id-4.0.4 | test/schema.rb |
friendly_id-4.0.3 | test/schema.rb |