001_initial_schema.rb
上传用户:netsea168
上传日期:2022-07-22
资源大小:4652k
文件大小:4k
源码类别:

Ajax

开发平台:

Others

  1. class Bare1Category < ActiveRecord::Base
  2.   include BareMigration
  3. end
  4. class Bare1Article < ActiveRecord::Base
  5.   include BareMigration
  6. end
  7. class Bare1ArticlesCategory < ActiveRecord::Base
  8.   include BareMigration
  9. end
  10. class InitialSchema < ActiveRecord::Migration
  11.   def self.up
  12.     ActiveRecord::Base.transaction do
  13.       create_table :users do |t|
  14.         t.column :login, :string
  15.         t.column :password, :string
  16.       end
  17.       create_table :articles do |t|
  18.         t.column :title, :string
  19.         t.column :author, :string
  20.         t.column :body, :text
  21.         t.column :body_html, :text
  22.         t.column :extended, :text
  23.         t.column :excerpt, :text
  24.         t.column :keywords, :string
  25.         t.column :allow_comments, :integer
  26.         t.column :allow_pings, :integer
  27.         t.column :published, :integer, :default => 1
  28.         t.column :text_filter, :string
  29.         t.column :created_at, :datetime
  30.         t.column :updated_at, :datetime
  31.         t.column :extended_html, :text
  32.         t.column :permalink, :string
  33.       end
  34.       add_index :articles, :permalink
  35.       create_table :categories do |t|
  36.         t.column :name, :string
  37.         t.column :position, :integer
  38.       end
  39.       category = Bare1Category.create(:name => 'General',
  40.         :position => 1
  41.       )
  42.       
  43.       article = Bare1Article.create(:title=>'Hello World!',
  44.         :author=>'Mr Typo',
  45.         :body=>'Welcome to Typo. This is your first article. Edit or delete it, then start blogging!',
  46.         :allow_comments => 1,
  47.         :allow_pings =>1,
  48.         :published => 1,
  49.         :permalink => 'hello-world'
  50.       )
  51.       create_table :blacklist_patterns do |t|
  52.         t.column :type, :string
  53.         t.column :pattern, :string
  54.       end
  55.       add_index :blacklist_patterns, :pattern
  56.       create_table :comments do |t|
  57.         t.column :article_id, :integer
  58.         t.column :title, :string
  59.         t.column :author, :string
  60.         t.column :email, :string
  61.         t.column :url, :string
  62.         t.column :ip, :string
  63.         t.column :body, :text
  64.         t.column :body_html, :text
  65.         t.column :created_at, :datetime
  66.         t.column :updated_at, :datetime
  67.       end
  68.       add_index :comments, :article_id
  69.       create_table :pings do |t|
  70.         t.column :article_id, :integer
  71.         t.column :url, :string
  72.         t.column :created_at, :datetime
  73.       end
  74.       add_index :pings, :article_id
  75.       create_table :resources do |t|
  76.         t.column :size, :integer
  77.         t.column :filename, :string
  78.         t.column :mime, :string
  79.         t.column :created_at, :datetime
  80.         t.column :updated_at, :datetime
  81.       end
  82.       create_table :sessions do |t|
  83.         t.column :sessid, :string
  84.         t.column :data, :text
  85.         t.column :created_at, :datetime
  86.         t.column :updated_at, :datetime
  87.       end
  88.       create_table :settings do |t|
  89.         t.column :name, :string
  90.         t.column :value, :string
  91.         t.column :position, :integer
  92.       end
  93.       create_table :trackbacks do |t|
  94.         t.column :article_id, :integer
  95.         t.column :blog_name, :string
  96.         t.column :title, :string
  97.         t.column :excerpt, :string
  98.         t.column :url, :string
  99.         t.column :ip, :string
  100.         t.column :created_at, :datetime
  101.         t.column :updated_at, :datetime
  102.       end
  103.       add_index :trackbacks, :article_id
  104.     end
  105.   end
  106.   def self.down
  107.     ActiveRecord::Base.transaction do
  108.       remove_index :articles, :permalink
  109.       remove_index :blacklist_patterns, :pattern
  110.       remove_index :comments, :article_id
  111.       remove_index :pings, :article_id
  112.       remove_index :trackbacks, :article_id
  113.       drop_table :users
  114.       drop_table :articles
  115.       drop_table :categories
  116.       drop_table :blacklist_patterns
  117.       drop_table :comments
  118.       drop_table :pings
  119.       drop_table :resources
  120.       drop_table :sessions
  121.       drop_table :settings
  122.       drop_table :trackbacks
  123.     end
  124.   end
  125. end