Class: CreateChinaRegionsTables

Inherits:
ActiveRecord::Migration
  • Object
show all
Defined in:
lib/generators/china_regions/templates/migration.rb

Instance Method Summary collapse

Instance Method Details

#changeObject



4
5
6
7
8
# File 'lib/generators/china_regions/templates/migration.rb', line 4

def change
  setup_provinces unless table_exists? 'provinces'
  setup_citites   unless table_exists? 'cities'
  setup_districts unless table_exists? 'districts'
end

#setup_cititesObject



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/generators/china_regions/templates/migration.rb', line 24

def setup_citites
  create_table :cities do |t|
    t.string :name
    t.integer :code
    t.integer :province_id
    t.integer :level
    t.string :name_en
    t.string :name_abbr
    t.integer :districts_count, default: 0

    t.timestamps
  end

  add_index :cities, :name
  add_index :cities, :province_id
end

#setup_districtsObject



41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/generators/china_regions/templates/migration.rb', line 41

def setup_districts
  create_table :districts do |t|
    t.string :name
    t.integer :city_id
    t.integer :code
    t.string :name_en
    t.string :name_abbr

    t.timestamps
  end

  add_index :districts, :name
  add_index :districts, :city_id
end

#setup_provincesObject



10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/generators/china_regions/templates/migration.rb', line 10

def setup_provinces
  create_table :provinces do |t|
    t.string :name
    t.integer :code
    t.string :name_en
    t.string :name_abbr
    t.integer :cities_count, default: 0

    t.timestamps
  end

  add_index :provinces, :name
end