acms_ruby 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,41 @@
1
+ # -*- coding: utf-8 -*-
2
+ module AcmsRuby
3
+ class Entry < AcmsRuby::ARBase
4
+ include AcmsRuby::FieldSelectMethods
5
+
6
+ scope :closes, -> { where(entry_status: :close) }
7
+ scope :opens, -> { where(entry_status: :open) }
8
+ scope :drafts, -> { where(entry_status: :draft) }
9
+ scope :by_blog, ->(blog){ where(blog: blog) }
10
+
11
+ belongs_to :user, class_name: 'User', foreign_key: :entry_user_id
12
+ belongs_to :last_update_user, class_name: 'User', foreign_key: :entry_last_update_user_id
13
+ belongs_to :category, class_name: 'Category', foreign_key: :entry_category_id
14
+ belongs_to :blog, class_name: 'Blog', foreign_key: :entry_blog_id
15
+ belongs_to :form, class_name: 'Form', foreign_key: :entry_form_id
16
+
17
+ has_many :fields, class_name: 'Field', foreign_key: :field_eid
18
+ has_many :columns, class_name: 'Column', foreign_key: :column_entry_id
19
+
20
+ create_methods ['code','status','title','link','datetime','start_datetime','end_datetime','posted_datetime','updated_datetime'], 'entry'
21
+
22
+ def full_text
23
+ columns.texts.map do |text|
24
+ text.text
25
+ end.join("\n")
26
+ end
27
+
28
+ def open!
29
+ self.status = 'open'
30
+ self.save!
31
+ end
32
+ def close!
33
+ self.status = 'close'
34
+ self.save!
35
+ end
36
+ def draft!
37
+ self.status = 'draft'
38
+ self.save!
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,16 @@
1
+ # -*- coding: utf-8 -*-
2
+ module AcmsRuby
3
+ class Field < AcmsRuby::ARBase
4
+ self.primary_keys = [:field_key, :field_search, :field_eid, :field_cid, :field_uid, :field_bid]
5
+
6
+ belongs_to :current_blog, class_name: 'Blog', foreign_key: :field_blog_id
7
+ belongs_to :entry, class_name: 'Entry', foreign_key: :field_eid
8
+ belongs_to :category, class_name: 'Category', foreign_key: :field_cid
9
+ belongs_to :user, class_name: 'User', foreign_key: :field_uid
10
+ belongs_to :blog, class_name: 'Blog', foreign_key: :field_bid
11
+
12
+ default_scope { order(:field_sort) }
13
+
14
+ create_methods ['key','value','eid','cid','uid','bid'], 'field'
15
+ end
16
+ end
@@ -0,0 +1,35 @@
1
+
2
+ module AcmsRuby
3
+ class FieldGroup
4
+ include Enumerable
5
+ attr_accessor :fields
6
+ attr_accessor :name
7
+
8
+ def initialize(group_name, base)
9
+ @base = base
10
+ @name = group_name
11
+ load_fields
12
+ end
13
+
14
+ def load_fields
15
+ @fields = @base.fields.where(field_key: "@"+@name)
16
+ end
17
+
18
+ def field(key, sort_no=nil)
19
+ return nil if !field_names.include?(key)
20
+ @base.field(key, sort_no)
21
+ end
22
+
23
+ def field_names
24
+ @fields.collect do |field|
25
+ field.value
26
+ end.uniq
27
+ end
28
+
29
+ def each
30
+ @fields.each do |field|
31
+ yield field
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,50 @@
1
+
2
+ module AcmsRuby
3
+ module FieldSelectMethods
4
+ def field(key, sort_no=nil)
5
+ return fields.where(field_key: key, field_sort: sort_no).first if sort_no
6
+ fields.where(field_key: key).collect do |field|
7
+ field
8
+ end
9
+ end
10
+
11
+ def val(key, sort_no=nil)
12
+ return field(key, sort_no) if sort_no
13
+ field(key).collect do |f|
14
+ f.value
15
+ end
16
+ end
17
+
18
+ def field_names
19
+ fields.collect do |field|
20
+ field.key
21
+ end.uniq
22
+ end
23
+
24
+ def image_field_names
25
+ field_names.collect do |name|
26
+ image_name = name.split('@')[0]
27
+ image_name if name =~ /\@/ && image_name != ''
28
+ end.uniq.compact
29
+ end
30
+
31
+ def field_group_names
32
+ field_names.collect do |name|
33
+ image_name = name.split('@')[1]
34
+ image_name if name =~ /^\@/
35
+ end.compact
36
+ end
37
+
38
+ def field_groups
39
+ field_group_names.collect do |group_name|
40
+ AcmsRuby::FieldGroup.new(group_name, self)
41
+ end
42
+ end
43
+
44
+ def image_fields
45
+ image_field_names.collect do |image_name|
46
+ AcmsRuby::ImageField.new(image_name, self)
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,10 @@
1
+ # -*- coding: utf-8 -*-
2
+ module AcmsRuby
3
+ class Form < AcmsRuby::ARBase
4
+ belongs_to :blog, class_name: 'Blog', foreign_key: :form_blog_id
5
+
6
+ has_many :entries, class_name: 'Entry', foreign_key: :entry_form_id
7
+
8
+ create_methods ['code','name'], 'form'
9
+ end
10
+ end
@@ -0,0 +1,26 @@
1
+
2
+ module AcmsRuby
3
+ class Image
4
+ attr_accessor :fields
5
+
6
+ def initialize(image_name, sort_no, base)
7
+ @base = base
8
+ @name = image_name
9
+ @no = sort_no
10
+ load_fields
11
+ end
12
+
13
+ def load_fields
14
+ @fields = @base.fields.where(field_sort: @no)
15
+ end
16
+
17
+ def field(key)
18
+ key = @name+'@'+key
19
+ @fields.where(field_key: key).first
20
+ end
21
+
22
+ def val(key)
23
+ field(key).value
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,42 @@
1
+
2
+ module AcmsRuby
3
+ class ImageField
4
+ include Enumerable
5
+ attr_accessor :fields
6
+ attr_accessor :images
7
+ attr_accessor :name
8
+
9
+ def initialize(field_name, base)
10
+ @base = base
11
+ @name = field_name
12
+ load_image
13
+ end
14
+
15
+ def load_image
16
+ @fields = @base.fields.where(['field_key like ?', @name+"@%"])
17
+ image_count = @fields.collect{|f| f.field_sort }.max
18
+ @images = []
19
+ image_count.times do |i|
20
+ @images.push AcmsRuby::Image.new(@name, i+1, self)
21
+ end
22
+ end
23
+
24
+ def field(key, sort_no=nil)
25
+ key = @name+'@'+key
26
+ return nil if !field_names.include?(key)
27
+ @base.field(key, sort_no)
28
+ end
29
+
30
+ def field_names
31
+ @fields.collect do |field|
32
+ field.key
33
+ end.uniq
34
+ end
35
+
36
+ def each
37
+ @fields.each do |field|
38
+ yield field
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,13 @@
1
+ # -*- coding: utf-8 -*-
2
+ module AcmsRuby
3
+ class User < ARBase
4
+ include AcmsRuby::FieldSelectMethods
5
+
6
+ belongs_to :blog, class_name: 'Blog', foreign_key: :user_blog_id
7
+
8
+ has_many :entries, class_name: 'Entry', foreign_key: :entry_user_id
9
+ has_many :fields, class_name: 'Field', foreign_key: :field_uid
10
+
11
+ create_methods ['code','status','name','mail','auth','login_anywhere','login_expire','login_datetime','updated_datetime','generated_datetime'], 'user'
12
+ end
13
+ end
@@ -0,0 +1,3 @@
1
+ module AcmsRuby
2
+ VERSION = "0.1.0"
3
+ end
@@ -0,0 +1,8 @@
1
+
2
+ test:
3
+ adapter: mysql2
4
+ encoding: utf8
5
+ database: acms_test
6
+ username: acms
7
+ password: acms
8
+ host: localhost
@@ -0,0 +1,53 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ require 'spec_helper'
4
+
5
+ describe AcmsRuby::Blog do
6
+ before do
7
+ @blog_a = FactoryGirl.create(:blog, blog_name: 'blog A', blog_code: 'blog_a')
8
+ @blog_b = FactoryGirl.create(:blog, blog_name: 'blog B', blog_code: 'blog_b', parent: @blog_a)
9
+ @blog_c = FactoryGirl.create(:blog, blog_name: 'blog C', blog_code: 'blog_c', parent: @blog_b)
10
+ @categories = []
11
+ 10.times do |i|
12
+ @categories.push FactoryGirl.create(:category,
13
+ category_name: "category a #{i}",
14
+ category_code: "category_a_#{i}",
15
+ blog: @blog_a,
16
+ category_scope: [2,4,6].include?(i) ? 'global' : 'local'
17
+ )
18
+ end
19
+ 5.times do |i|
20
+ @categories.push FactoryGirl.create(:category,
21
+ category_name: "category b #{i}",
22
+ category_code: "category_b_#{i}",
23
+ blog: @blog_b,
24
+ category_scope: [3].include?(i) ? 'global' : 'local'
25
+ )
26
+ end
27
+ 1.times do |i|
28
+ @categories.push FactoryGirl.create(:category,
29
+ category_name: "category c #{i}",
30
+ category_code: "category_c_#{i}",
31
+ blog: @blog_c
32
+ )
33
+ end
34
+ end
35
+
36
+ it 'ブログに所属する「全てのカテゴリ」の数を取得できる' do
37
+ expect(@blog_a.categories.count).to eq(10)
38
+ expect(@blog_b.categories.count).to eq(8)
39
+ expect(@blog_c.categories.count).to eq(5)
40
+ end
41
+
42
+ it 'ブログに所属する「親所属のカテゴリ」の数を取得できる' do
43
+ expect(@blog_a.global_categories.count).to eq(3)
44
+ expect(@blog_b.global_categories.count).to eq(4)
45
+ expect(@blog_c.global_categories.count).to eq(4)
46
+ end
47
+
48
+ it 'ブログに所属する「オリジナルカテゴリ」の数を取得できる' do
49
+ expect(@blog_a.origin_categories.count).to eq(10)
50
+ expect(@blog_b.origin_categories.count).to eq(5)
51
+ expect(@blog_c.origin_categories.count).to eq(1)
52
+ end
53
+ end
@@ -0,0 +1,10 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ require 'spec_helper'
4
+
5
+ describe AcmsRuby::Category do
6
+ it 'nameでカテゴリ名が取得できる' do
7
+ @category = FactoryGirl.create(:category, category_name: 'test name')
8
+ expect(@category.name).to eq('test name')
9
+ end
10
+ end
@@ -0,0 +1,25 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ require 'spec_helper'
4
+
5
+ describe AcmsRuby::Column do
6
+ before do
7
+ sep = AcmsRuby::Column::ACMS_UNIT_TEXT_DELIMITER
8
+ @column = FactoryGirl.create(:column, column_type: 'text', column_field_1: "test text", column_field_2: 'p')
9
+ @column_multiline = FactoryGirl.create(:column, column_type: 'text', column_field_1: "test 1 line"+sep+"test 2 line"+sep+"test 3 line")
10
+ end
11
+
12
+ it '#text テキストタイプならテキストが取得でききる' do
13
+ expect(@column.text).to eq('test text')
14
+ end
15
+
16
+ it '#texts テキストが複数のものを配列で返す' do
17
+ expect(@column_multiline.text).to eq('test 1 line')
18
+ expect(@column_multiline.text(1)).to eq('test 2 line')
19
+ expect(@column_multiline.texts.size).to eq(3)
20
+ end
21
+
22
+ it '#html テキストを指定のHTMLに変換して返す' do
23
+ expect(@column.html).to eq('<p>test text</p>')
24
+ end
25
+ end
@@ -0,0 +1,24 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ require 'spec_helper'
4
+
5
+ describe AcmsRuby::Entry do
6
+ before do
7
+ @entry = FactoryGirl.create(:entry, entry_title: 'test entry')
8
+ @column = FactoryGirl.create(:column, column_type: 'text', column_field_1: "hogehoge", column_field_2: 'p', entry: @entry, column_sort: 1)
9
+ @column = FactoryGirl.create(:column, column_type: 'text', column_field_1: "fugafuga", column_field_2: 'p', entry: @entry, column_sort: 2)
10
+ end
11
+
12
+ it '#full_text 所属かカラムから生成されるテキストを返す' do
13
+ expect(@entry.full_text).to eq("hogehoge\nfugafuga")
14
+ end
15
+
16
+ it '#open! #close! #draft! でステータスを変更できる' do
17
+ @entry.close!
18
+ expect(@entry.status).to eq("close")
19
+ @entry.open!
20
+ expect(@entry.status).to eq("open")
21
+ @entry.draft!
22
+ expect(@entry.status).to eq("draft")
23
+ end
24
+ end
@@ -0,0 +1,725 @@
1
+ -- Create syntax for TABLE 'acms_alias'
2
+ CREATE TABLE `acms_alias` (
3
+ `alias_id` int(11) NOT NULL,
4
+ `alias_status` varchar(16) NOT NULL,
5
+ `alias_sort` int(11) NOT NULL,
6
+ `alias_domain` varchar(128) NOT NULL,
7
+ `alias_code` varchar(255) NOT NULL,
8
+ `alias_name` varchar(255) NOT NULL,
9
+ `alias_description` varchar(255) NOT NULL,
10
+ `alias_indexing` varchar(8) NOT NULL DEFAULT 'on',
11
+ `alias_blog_id` int(11) NOT NULL
12
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
13
+
14
+ -- Create syntax for TABLE 'acms_app'
15
+ CREATE TABLE `acms_app` (
16
+ `app_name` varchar(128) NOT NULL,
17
+ `app_version` varchar(64) NOT NULL,
18
+ `app_status` varchar(8) NOT NULL,
19
+ `app_activate_datetime` datetime DEFAULT NULL,
20
+ `app_install_datetime` datetime NOT NULL,
21
+ `app_blog_id` int(11) NOT NULL
22
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
23
+
24
+ -- Create syntax for TABLE 'acms_approval'
25
+ CREATE TABLE `acms_approval` (
26
+ `approval_id` int(11) NOT NULL,
27
+ `approval_type` varchar(16) NOT NULL,
28
+ `approval_datetime` datetime NOT NULL,
29
+ `approval_deadline_datetime` datetime NOT NULL,
30
+ `approval_comment` varchar(512) NOT NULL,
31
+ `approval_request_usergroup_id` int(11) DEFAULT NULL,
32
+ `approval_receive_usergroup_id` int(11) DEFAULT NULL,
33
+ `approval_request_user_id` int(11) DEFAULT NULL,
34
+ `approval_receive_user_id` int(11) DEFAULT NULL,
35
+ `approval_revision_id` int(11) NOT NULL,
36
+ `approval_entry_id` int(11) NOT NULL,
37
+ `approval_blog_id` int(11) NOT NULL
38
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
39
+
40
+ -- Create syntax for TABLE 'acms_blog'
41
+ CREATE TABLE `acms_blog` (
42
+ `blog_id` int(11) NOT NULL,
43
+ `blog_code` varchar(255) NOT NULL,
44
+ `blog_status` varchar(16) NOT NULL DEFAULT 'open',
45
+ `blog_parent` int(11) NOT NULL,
46
+ `blog_sort` int(11) NOT NULL,
47
+ `blog_left` int(11) NOT NULL,
48
+ `blog_right` int(11) NOT NULL,
49
+ `blog_name` varchar(255) NOT NULL,
50
+ `blog_domain` varchar(128) NOT NULL,
51
+ `blog_indexing` varchar(8) NOT NULL DEFAULT 'on',
52
+ `blog_generated_datetime` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
53
+ `blog_alias_status` varchar(8) NOT NULL DEFAULT 'open',
54
+ `blog_alias_sort` int(11) NOT NULL DEFAULT '1',
55
+ `blog_alias_primary` int(11) DEFAULT NULL,
56
+ PRIMARY KEY (`blog_id`,`blog_left`,`blog_right`,`blog_status`,`blog_indexing`),
57
+ KEY `blog_domain` (`blog_domain`)
58
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
59
+
60
+ -- Create syntax for TABLE 'acms_cache'
61
+ CREATE TABLE `acms_cache` (
62
+ `cache_id` char(32) NOT NULL,
63
+ `cache_mime` varchar(128) NOT NULL DEFAULT 'text/html',
64
+ `cache_charset` varchar(64) NOT NULL DEFAULT 'UTF-8',
65
+ `cache_http_status_code` varchar(255) NOT NULL,
66
+ `cache_data` longblob NOT NULL,
67
+ `cache_expire` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
68
+ `cache_status` varchar(16) NOT NULL,
69
+ `cache_blog_id` int(11) NOT NULL,
70
+ PRIMARY KEY (`cache_id`),
71
+ KEY `cache_status` (`cache_blog_id`,`cache_expire`,`cache_status`)
72
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
73
+
74
+ -- Create syntax for TABLE 'acms_category'
75
+ CREATE TABLE `acms_category` (
76
+ `category_id` int(11) NOT NULL,
77
+ `category_code` varchar(255) NOT NULL,
78
+ `category_status` varchar(16) NOT NULL DEFAULT 'open',
79
+ `category_parent` int(11) NOT NULL,
80
+ `category_sort` int(11) NOT NULL,
81
+ `category_left` int(11) NOT NULL,
82
+ `category_right` int(11) NOT NULL,
83
+ `category_name` varchar(255) NOT NULL,
84
+ `category_scope` varchar(8) NOT NULL DEFAULT 'local',
85
+ `category_indexing` varchar(8) NOT NULL DEFAULT 'on',
86
+ `category_blog_id` int(11) NOT NULL,
87
+ PRIMARY KEY (`category_id`,`category_left`,`category_right`,`category_status`,`category_indexing`),
88
+ KEY `category_code` (`category_code`,`category_left`,`category_right`),
89
+ KEY `category_id` (`category_id`,`category_status`)
90
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
91
+
92
+ -- Create syntax for TABLE 'acms_column'
93
+ CREATE TABLE `acms_column` (
94
+ `column_id` int(11) NOT NULL,
95
+ `column_sort` int(11) NOT NULL,
96
+ `column_align` varchar(8) NOT NULL,
97
+ `column_type` varchar(32) NOT NULL,
98
+ `column_attr` varchar(64) NOT NULL,
99
+ `column_group` varchar(64) NOT NULL,
100
+ `column_size` varchar(16) NOT NULL,
101
+ `column_field_1` longtext NOT NULL,
102
+ `column_field_2` varchar(255) NOT NULL,
103
+ `column_field_3` varchar(255) NOT NULL,
104
+ `column_field_4` varchar(255) NOT NULL,
105
+ `column_field_5` varchar(255) NOT NULL,
106
+ `column_field_6` varchar(255) NOT NULL,
107
+ `column_field_7` varchar(255) NOT NULL,
108
+ `column_field_8` varchar(255) NOT NULL,
109
+ `column_entry_id` int(11) NOT NULL,
110
+ `column_blog_id` int(11) NOT NULL,
111
+ PRIMARY KEY (`column_id`),
112
+ KEY `entry_sort` (`column_entry_id`,`column_sort`)
113
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
114
+
115
+ -- Create syntax for TABLE 'acms_column_rev'
116
+ CREATE TABLE `acms_column_rev` (
117
+ `column_id` int(11) NOT NULL,
118
+ `column_sort` int(11) NOT NULL,
119
+ `column_align` varchar(8) NOT NULL,
120
+ `column_type` varchar(32) NOT NULL,
121
+ `column_attr` varchar(64) NOT NULL,
122
+ `column_group` varchar(64) NOT NULL,
123
+ `column_size` varchar(16) NOT NULL,
124
+ `column_field_1` longtext NOT NULL,
125
+ `column_field_2` varchar(255) NOT NULL,
126
+ `column_field_3` varchar(255) NOT NULL,
127
+ `column_field_4` varchar(255) NOT NULL,
128
+ `column_field_5` varchar(255) NOT NULL,
129
+ `column_field_6` varchar(255) NOT NULL,
130
+ `column_field_7` varchar(255) NOT NULL,
131
+ `column_field_8` varchar(255) NOT NULL,
132
+ `column_entry_id` int(11) NOT NULL,
133
+ `column_blog_id` int(11) NOT NULL,
134
+ `column_rev_id` int(11) NOT NULL,
135
+ PRIMARY KEY (`column_id`,`column_rev_id`),
136
+ KEY `entry_sort` (`column_entry_id`,`column_sort`,`column_rev_id`),
137
+ KEY `entry_revision` (`column_entry_id`,`column_rev_id`)
138
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
139
+
140
+ -- Create syntax for TABLE 'acms_comment'
141
+ CREATE TABLE `acms_comment` (
142
+ `comment_id` int(11) NOT NULL,
143
+ `comment_status` varchar(16) NOT NULL,
144
+ `comment_parent` int(11) NOT NULL,
145
+ `comment_left` int(11) NOT NULL,
146
+ `comment_right` int(11) NOT NULL,
147
+ `comment_title` varchar(255) NOT NULL,
148
+ `comment_body` longtext NOT NULL,
149
+ `comment_name` varchar(255) NOT NULL,
150
+ `comment_mail` varchar(255) NOT NULL,
151
+ `comment_url` varchar(255) NOT NULL,
152
+ `comment_pass` varchar(32) NOT NULL,
153
+ `comment_datetime` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
154
+ `comment_host` varchar(255) NOT NULL,
155
+ `comment_rank` int(11) NOT NULL,
156
+ `comment_entry_id` int(11) NOT NULL,
157
+ `comment_user_id` int(11) NOT NULL,
158
+ `comment_blog_id` int(11) NOT NULL,
159
+ PRIMARY KEY (`comment_entry_id`,`comment_id`,`comment_status`)
160
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
161
+
162
+ -- Create syntax for TABLE 'acms_config'
163
+ CREATE TABLE `acms_config` (
164
+ `config_key` varchar(255) NOT NULL,
165
+ `config_value` longtext NOT NULL,
166
+ `config_sort` int(11) NOT NULL,
167
+ `config_rule_id` int(11) DEFAULT NULL,
168
+ `config_module_id` int(11) DEFAULT NULL,
169
+ `config_blog_id` int(11) NOT NULL,
170
+ KEY `config_blog_id` (`config_blog_id`,`config_sort`,`config_rule_id`,`config_module_id`)
171
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
172
+
173
+ -- Create syntax for TABLE 'acms_dashboard'
174
+ CREATE TABLE `acms_dashboard` (
175
+ `dashboard_key` varchar(255) NOT NULL,
176
+ `dashboard_value` longtext NOT NULL,
177
+ `dashboard_sort` int(11) NOT NULL,
178
+ `dashboard_blog_id` int(11) NOT NULL,
179
+ KEY `dashboard_key` (`dashboard_key`,`dashboard_blog_id`),
180
+ KEY `dashboard_sort` (`dashboard_sort`,`dashboard_blog_id`)
181
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
182
+
183
+ -- Create syntax for TABLE 'acms_entry'
184
+ CREATE TABLE `acms_entry` (
185
+ `entry_id` int(11) NOT NULL,
186
+ `entry_code` varchar(64) NOT NULL,
187
+ `entry_status` varchar(16) NOT NULL DEFAULT 'open',
188
+ `entry_approval` varchar(16) NOT NULL DEFAULT 'none',
189
+ `entry_form_status` varchar(16) NOT NULL,
190
+ `entry_sort` int(11) NOT NULL,
191
+ `entry_user_sort` int(11) NOT NULL,
192
+ `entry_category_sort` int(11) NOT NULL,
193
+ `entry_title` varchar(255) NOT NULL,
194
+ `entry_link` varchar(255) NOT NULL,
195
+ `entry_datetime` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
196
+ `entry_start_datetime` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
197
+ `entry_end_datetime` datetime NOT NULL DEFAULT '9999-12-31 23:59:59',
198
+ `entry_posted_datetime` datetime NOT NULL DEFAULT '9999-12-31 23:59:59',
199
+ `entry_updated_datetime` datetime NOT NULL DEFAULT '9999-12-31 23:59:59',
200
+ `entry_summary_range` int(11) DEFAULT NULL,
201
+ `entry_indexing` varchar(8) NOT NULL DEFAULT 'on',
202
+ `entry_primary_image` int(11) DEFAULT NULL,
203
+ `entry_current_rev_id` int(11) NOT NULL,
204
+ `entry_last_update_user_id` int(11) NOT NULL,
205
+ `entry_hash` char(32) NOT NULL,
206
+ `entry_category_id` int(11) DEFAULT NULL,
207
+ `entry_user_id` int(11) NOT NULL,
208
+ `entry_form_id` int(11) NOT NULL,
209
+ `entry_blog_id` int(11) NOT NULL,
210
+ PRIMARY KEY (`entry_id`,`entry_start_datetime`,`entry_end_datetime`,`entry_status`),
211
+ UNIQUE KEY `entry_datetime` (`entry_datetime`,`entry_id`),
212
+ UNIQUE KEY `entry_posted_datetime` (`entry_posted_datetime`,`entry_id`),
213
+ UNIQUE KEY `entry_category_id` (`entry_category_id`,`entry_id`),
214
+ KEY `entry_user_id` (`entry_user_id`),
215
+ KEY `entry_count` (`entry_blog_id`,`entry_datetime`,`entry_start_datetime`,`entry_end_datetime`,`entry_status`,`entry_indexing`)
216
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
217
+
218
+ -- Create syntax for TABLE 'acms_entry_rev'
219
+ CREATE TABLE `acms_entry_rev` (
220
+ `entry_id` int(11) NOT NULL,
221
+ `entry_rev_id` int(11) NOT NULL,
222
+ `entry_rev_status` varchar(16) NOT NULL DEFAULT 'none',
223
+ `entry_rev_user_id` int(11) NOT NULL,
224
+ `entry_rev_datetime` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
225
+ `entry_rev_memo` varchar(512) NOT NULL,
226
+ `entry_code` varchar(64) NOT NULL,
227
+ `entry_status` varchar(16) NOT NULL DEFAULT 'open',
228
+ `entry_approval` varchar(16) NOT NULL DEFAULT 'none',
229
+ `entry_form_status` varchar(16) NOT NULL DEFAULT 'open',
230
+ `entry_sort` int(11) NOT NULL,
231
+ `entry_user_sort` int(11) NOT NULL,
232
+ `entry_category_sort` int(11) NOT NULL,
233
+ `entry_title` varchar(255) NOT NULL,
234
+ `entry_link` varchar(255) NOT NULL,
235
+ `entry_datetime` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
236
+ `entry_start_datetime` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
237
+ `entry_end_datetime` datetime NOT NULL DEFAULT '9999-12-31 23:59:59',
238
+ `entry_posted_datetime` datetime NOT NULL DEFAULT '9999-12-31 23:59:59',
239
+ `entry_updated_datetime` datetime NOT NULL DEFAULT '9999-12-31 23:59:59',
240
+ `entry_summary_range` int(11) DEFAULT NULL,
241
+ `entry_indexing` varchar(8) NOT NULL DEFAULT 'on',
242
+ `entry_primary_image` int(11) DEFAULT NULL,
243
+ `entry_hash` char(32) NOT NULL,
244
+ `entry_category_id` int(11) DEFAULT NULL,
245
+ `entry_user_id` int(11) NOT NULL,
246
+ `entry_form_id` int(11) NOT NULL,
247
+ `entry_blog_id` int(11) NOT NULL,
248
+ PRIMARY KEY (`entry_id`,`entry_start_datetime`,`entry_end_datetime`,`entry_status`,`entry_rev_id`),
249
+ UNIQUE KEY `entry_datetime` (`entry_datetime`,`entry_id`,`entry_rev_id`),
250
+ UNIQUE KEY `entry_posted_datetime` (`entry_posted_datetime`,`entry_id`,`entry_rev_id`),
251
+ UNIQUE KEY `entry_category_id` (`entry_category_id`,`entry_id`,`entry_rev_id`),
252
+ KEY `entry_user_id` (`entry_user_id`),
253
+ KEY `entry_count` (`entry_blog_id`,`entry_datetime`,`entry_start_datetime`,`entry_end_datetime`,`entry_status`,`entry_indexing`,`entry_rev_id`)
254
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
255
+
256
+ -- Create syntax for TABLE 'acms_field'
257
+ CREATE TABLE `acms_field` (
258
+ `field_key` varchar(255) NOT NULL,
259
+ `field_value` longtext,
260
+ `field_sort` int(11) NOT NULL,
261
+ `field_search` varchar(8) NOT NULL DEFAULT 'on',
262
+ `field_eid` int(11) DEFAULT NULL,
263
+ `field_cid` int(11) DEFAULT NULL,
264
+ `field_uid` int(11) DEFAULT NULL,
265
+ `field_bid` int(11) DEFAULT NULL,
266
+ `field_blog_id` int(11) NOT NULL,
267
+ KEY `field_cid` (`field_cid`),
268
+ KEY `field_uid` (`field_uid`),
269
+ KEY `field_bid` (`field_bid`),
270
+ KEY `field_eid` (`field_eid`,`field_key`,`field_search`),
271
+ KEY `field_key` (`field_key`)
272
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
273
+
274
+ -- Create syntax for TABLE 'acms_field_rev'
275
+ CREATE TABLE `acms_field_rev` (
276
+ `field_key` varchar(255) NOT NULL,
277
+ `field_value` longtext,
278
+ `field_sort` int(11) NOT NULL,
279
+ `field_search` varchar(8) NOT NULL DEFAULT 'on',
280
+ `field_eid` int(11) DEFAULT NULL,
281
+ `field_cid` int(11) DEFAULT NULL,
282
+ `field_uid` int(11) DEFAULT NULL,
283
+ `field_bid` int(11) DEFAULT NULL,
284
+ `field_blog_id` int(11) NOT NULL,
285
+ `field_rev_id` int(11) DEFAULT NULL,
286
+ KEY `field_cid` (`field_cid`),
287
+ KEY `field_uid` (`field_uid`),
288
+ KEY `field_bid` (`field_bid`),
289
+ KEY `field_eid` (`field_eid`,`field_key`,`field_search`,`field_rev_id`),
290
+ KEY `field_key` (`field_key`)
291
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
292
+
293
+ -- Create syntax for TABLE 'acms_form'
294
+ CREATE TABLE `acms_form` (
295
+ `form_id` int(11) NOT NULL,
296
+ `form_code` varchar(64) NOT NULL,
297
+ `form_name` varchar(255) NOT NULL,
298
+ `form_data` longtext NOT NULL,
299
+ `form_current_serial` int(11) NOT NULL,
300
+ `form_blog_id` int(11) NOT NULL,
301
+ PRIMARY KEY (`form_id`)
302
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
303
+
304
+ -- Create syntax for TABLE 'acms_fulltext'
305
+ CREATE TABLE `acms_fulltext` (
306
+ `fulltext_value` longtext NOT NULL,
307
+ `fulltext_ngram` longtext NOT NULL,
308
+ `fulltext_eid` int(11) DEFAULT NULL,
309
+ `fulltext_cid` int(11) DEFAULT NULL,
310
+ `fulltext_uid` int(11) DEFAULT NULL,
311
+ `fulltext_bid` int(11) DEFAULT NULL,
312
+ `fulltext_blog_id` int(11) NOT NULL,
313
+ UNIQUE KEY `fulltext_cid` (`fulltext_cid`),
314
+ UNIQUE KEY `fulltext_uid` (`fulltext_uid`),
315
+ UNIQUE KEY `fulltext_bid` (`fulltext_bid`),
316
+ UNIQUE KEY `fulltext_eid` (`fulltext_eid`),
317
+ FULLTEXT KEY `fulltext_value` (`fulltext_value`),
318
+ FULLTEXT KEY `fulltext_ngram` (`fulltext_ngram`)
319
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
320
+
321
+ -- Create syntax for TABLE 'acms_log_access'
322
+ CREATE TABLE `acms_log_access` (
323
+ `log_access_datetime` datetime NOT NULL,
324
+ `log_access_url` varchar(255) NOT NULL,
325
+ `log_access_ua` varchar(255) NOT NULL,
326
+ `log_access_addr` varchar(40) NOT NULL,
327
+ `log_access_referer` varchar(255) NOT NULL,
328
+ `log_access_method` varchar(4) NOT NULL,
329
+ `log_access_lang` varchar(16) NOT NULL,
330
+ `log_access_http_status_code` varchar(255) NOT NULL,
331
+ `log_access_publishing` varchar(16) NOT NULL,
332
+ `log_access_res_time` double NOT NULL,
333
+ `log_access_sql_time` double NOT NULL,
334
+ `log_access_acms_post` varchar(255) NOT NULL,
335
+ `log_access_acms_post_valid` varchar(8) NOT NULL,
336
+ `log_access_session_uid` int(11) NOT NULL,
337
+ `log_access_entry_id` int(11) DEFAULT NULL,
338
+ `log_access_category_id` int(11) DEFAULT NULL,
339
+ `log_access_user_id` int(11) DEFAULT NULL,
340
+ `log_access_rule_id` int(11) DEFAULT NULL,
341
+ `log_access_blog_id` int(11) DEFAULT NULL
342
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
343
+
344
+ -- Create syntax for TABLE 'acms_log_form'
345
+ CREATE TABLE `acms_log_form` (
346
+ `log_form_datetime` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
347
+ `log_form_remote_addr` varchar(40) NOT NULL,
348
+ `log_form_user_agent` varchar(255) NOT NULL,
349
+ `log_form_mail_to` varchar(255) NOT NULL,
350
+ `log_form_mail_subject` varchar(255) NOT NULL,
351
+ `log_form_mail_body` longtext NOT NULL,
352
+ `log_form_data` longtext NOT NULL,
353
+ `log_form_serial` int(11) NOT NULL,
354
+ `log_form_form_id` int(11) NOT NULL,
355
+ `log_form_entry_id` int(11) NOT NULL,
356
+ `log_form_blog_id` int(11) NOT NULL,
357
+ KEY `log_form_datetime` (`log_form_datetime`),
358
+ KEY `log_form_serial` (`log_form_serial`)
359
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
360
+
361
+ -- Create syntax for TABLE 'acms_media'
362
+ CREATE TABLE `acms_media` (
363
+ `media_id` int(11) NOT NULL,
364
+ `media_type` varchar(16) NOT NULL,
365
+ `media_path` varchar(512) NOT NULL,
366
+ `media_file_name` varchar(256) NOT NULL,
367
+ `media_file_size` varchar(256) NOT NULL,
368
+ `media_upload_date` datetime NOT NULL,
369
+ `media_blog_id` int(11) NOT NULL,
370
+ PRIMARY KEY (`media_id`)
371
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
372
+
373
+ -- Create syntax for TABLE 'acms_media_tag'
374
+ CREATE TABLE `acms_media_tag` (
375
+ `media_tag_name` varchar(256) NOT NULL,
376
+ `media_tag_sort` int(11) NOT NULL,
377
+ `media_tag_media_id` int(11) NOT NULL,
378
+ `media_tag_blog_id` int(11) NOT NULL,
379
+ PRIMARY KEY (`media_tag_media_id`,`media_tag_sort`),
380
+ KEY `media_tag_name_media` (`media_tag_name`,`media_tag_media_id`),
381
+ KEY `media_tag_blog_id` (`media_tag_blog_id`,`media_tag_name`)
382
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
383
+
384
+ -- Create syntax for TABLE 'acms_moblog'
385
+ CREATE TABLE `acms_moblog` (
386
+ `moblog_id` int(11) NOT NULL,
387
+ `moblog_status` varchar(8) NOT NULL,
388
+ `moblog_mail` varchar(255) NOT NULL,
389
+ `moblog_user` varchar(64) NOT NULL,
390
+ `moblog_pass` varchar(32) NOT NULL,
391
+ `moblog_server` varchar(128) NOT NULL,
392
+ `moblog_allowed_mail` longtext NOT NULL,
393
+ `moblog_entry_status` varchar(8) NOT NULL,
394
+ `moblog_image_size` varchar(16) NOT NULL,
395
+ `moblog_image_align` varchar(8) NOT NULL,
396
+ `moblog_text_unit` varchar(16) NOT NULL,
397
+ `moblog_category_id` int(11) DEFAULT NULL,
398
+ `moblog_user_id` int(11) NOT NULL,
399
+ `moblog_blog_id` int(11) NOT NULL,
400
+ PRIMARY KEY (`moblog_id`)
401
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
402
+
403
+ -- Create syntax for TABLE 'acms_module'
404
+ CREATE TABLE `acms_module` (
405
+ `module_id` int(11) NOT NULL,
406
+ `module_identifier` varchar(64) NOT NULL,
407
+ `module_name` varchar(64) NOT NULL,
408
+ `module_label` varchar(255) NOT NULL,
409
+ `module_description` varchar(255) NOT NULL,
410
+ `module_status` varchar(8) NOT NULL DEFAULT 'open',
411
+ `module_scope` varchar(8) NOT NULL DEFAULT 'local',
412
+ `module_bid` varchar(32) DEFAULT NULL,
413
+ `module_bid_axis` varchar(32) NOT NULL DEFAULT 'self',
414
+ `module_uid` varchar(32) DEFAULT NULL,
415
+ `module_uid_scope` varchar(8) NOT NULL DEFAULT 'local',
416
+ `module_cid` varchar(32) DEFAULT NULL,
417
+ `module_cid_scope` varchar(8) NOT NULL DEFAULT 'local',
418
+ `module_cid_axis` varchar(32) NOT NULL DEFAULT 'self',
419
+ `module_eid` varchar(32) DEFAULT NULL,
420
+ `module_eid_scope` varchar(8) NOT NULL DEFAULT 'local',
421
+ `module_keyword` varchar(255) DEFAULT NULL,
422
+ `module_keyword_scope` varchar(8) NOT NULL DEFAULT 'local',
423
+ `module_tag` varchar(255) DEFAULT NULL,
424
+ `module_tag_scope` varchar(8) NOT NULL DEFAULT 'local',
425
+ `module_field` varchar(255) DEFAULT NULL,
426
+ `module_field_scope` varchar(8) NOT NULL DEFAULT 'local',
427
+ `module_start` varchar(255) DEFAULT NULL,
428
+ `module_start_scope` varchar(8) NOT NULL DEFAULT 'local',
429
+ `module_end` varchar(255) DEFAULT NULL,
430
+ `module_end_scope` varchar(8) NOT NULL DEFAULT 'local',
431
+ `module_page` varchar(32) DEFAULT NULL,
432
+ `module_page_scope` varchar(8) NOT NULL DEFAULT 'local',
433
+ `module_order` varchar(255) DEFAULT NULL,
434
+ `module_order_scope` varchar(8) NOT NULL DEFAULT 'local',
435
+ `module_blog_id` int(11) NOT NULL,
436
+ PRIMARY KEY (`module_identifier`,`module_name`,`module_blog_id`,`module_scope`)
437
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
438
+
439
+ -- Create syntax for TABLE 'acms_role'
440
+ CREATE TABLE `acms_role` (
441
+ `role_id` int(11) NOT NULL,
442
+ `role_name` varchar(128) NOT NULL DEFAULT 'open',
443
+ `role_blog_axis` varchar(16) NOT NULL DEFAULT 'self',
444
+ `role_entry_edit_all` varchar(8) NOT NULL,
445
+ `role_entry_edit` varchar(8) NOT NULL,
446
+ `role_entry_delete` varchar(8) NOT NULL,
447
+ `role_category_create` varchar(8) NOT NULL,
448
+ `role_category_edit` varchar(8) NOT NULL,
449
+ `role_tag_edit` varchar(8) NOT NULL,
450
+ `role_media_upload` varchar(8) NOT NULL,
451
+ `role_media_edit` varchar(8) NOT NULL,
452
+ `role_rule_edit` varchar(8) NOT NULL,
453
+ `role_publish_edit` varchar(8) NOT NULL,
454
+ `role_publish_exec` varchar(8) NOT NULL,
455
+ `role_config_edit` varchar(8) NOT NULL,
456
+ `role_module_edit` varchar(8) NOT NULL,
457
+ `role_backup_export` varchar(8) NOT NULL,
458
+ `role_backup_import` varchar(8) NOT NULL,
459
+ `role_admin_etc` varchar(8) NOT NULL,
460
+ PRIMARY KEY (`role_id`)
461
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
462
+
463
+ -- Create syntax for TABLE 'acms_role_blog'
464
+ CREATE TABLE `acms_role_blog` (
465
+ `role_id` int(11) NOT NULL,
466
+ `blog_id` int(11) NOT NULL,
467
+ PRIMARY KEY (`role_id`,`blog_id`)
468
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
469
+
470
+ -- Create syntax for TABLE 'acms_rule'
471
+ CREATE TABLE `acms_rule` (
472
+ `rule_id` int(11) NOT NULL,
473
+ `rule_name` varchar(64) NOT NULL,
474
+ `rule_sort` int(11) NOT NULL,
475
+ `rule_status` varchar(8) NOT NULL,
476
+ `rule_description` varchar(255) NOT NULL,
477
+ `rule_scope` varchar(8) NOT NULL DEFAULT 'local',
478
+ `rule_aid` int(11) DEFAULT NULL,
479
+ `rule_aid_case` varchar(16) DEFAULT NULL,
480
+ `rule_uid` int(11) DEFAULT NULL,
481
+ `rule_uid_case` varchar(16) DEFAULT NULL,
482
+ `rule_cid` int(11) DEFAULT NULL,
483
+ `rule_cid_case` varchar(16) DEFAULT NULL,
484
+ `rule_eid` int(11) DEFAULT NULL,
485
+ `rule_eid_case` varchar(16) DEFAULT NULL,
486
+ `rule_ucd` varchar(255) DEFAULT NULL,
487
+ `rule_ucd_case` varchar(32) DEFAULT NULL,
488
+ `rule_ccd` varchar(255) DEFAULT NULL,
489
+ `rule_ccd_case` varchar(32) DEFAULT NULL,
490
+ `rule_ecd` varchar(255) DEFAULT NULL,
491
+ `rule_ecd_case` varchar(32) DEFAULT NULL,
492
+ `rule_ua` varchar(32) DEFAULT NULL,
493
+ `rule_ua_case` varchar(16) DEFAULT NULL,
494
+ `rule_blog_id` int(11) NOT NULL
495
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
496
+
497
+ -- Create syntax for TABLE 'acms_schedule'
498
+ CREATE TABLE `acms_schedule` (
499
+ `schedule_id` int(11) NOT NULL,
500
+ `schedule_name` varchar(255) NOT NULL,
501
+ `schedule_desc` varchar(255) DEFAULT NULL,
502
+ `schedule_year` char(4) NOT NULL,
503
+ `schedule_month` char(2) NOT NULL,
504
+ `schedule_data` longtext NOT NULL,
505
+ `schedule_field` longtext NOT NULL,
506
+ `schedule_blog_id` int(11) NOT NULL,
507
+ KEY `schedule_id` (`schedule_id`,`schedule_year`,`schedule_month`,`schedule_blog_id`)
508
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
509
+
510
+ -- Create syntax for TABLE 'acms_sequence'
511
+ CREATE TABLE `acms_sequence` (
512
+ `sequence_blog_id` int(11) NOT NULL,
513
+ `sequence_alias_id` int(11) NOT NULL,
514
+ `sequence_user_id` int(11) NOT NULL,
515
+ `sequence_category_id` int(11) NOT NULL,
516
+ `sequence_entry_id` int(11) NOT NULL,
517
+ `sequence_column_id` int(11) NOT NULL,
518
+ `sequence_column_rev_id` int(11) NOT NULL,
519
+ `sequence_comment_id` int(11) NOT NULL,
520
+ `sequence_trackback_id` int(11) NOT NULL,
521
+ `sequence_rule_id` int(11) NOT NULL,
522
+ `sequence_module_id` int(11) NOT NULL,
523
+ `sequence_form_id` int(11) NOT NULL,
524
+ `sequence_media_id` int(11) NOT NULL,
525
+ `sequence_role_id` int(11) NOT NULL,
526
+ `sequence_usergroup_id` int(11) NOT NULL,
527
+ `sequence_approval_id` int(11) NOT NULL,
528
+ `sequence_moblog_id` int(11) NOT NULL,
529
+ `sequence_schedule_id` int(11) NOT NULL,
530
+ `sequence_shop_address_id` int(11) NOT NULL,
531
+ `sequence_shop_receipt_detail_id` int(11) NOT NULL,
532
+ `sequence_system_version` varchar(32) NOT NULL
533
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
534
+
535
+ -- Create syntax for TABLE 'acms_sequence_plugin'
536
+ CREATE TABLE `acms_sequence_plugin` (
537
+ `sequence_plugin_key` varchar(256) NOT NULL,
538
+ `sequence_plugin_value` int(11) NOT NULL,
539
+ PRIMARY KEY (`sequence_plugin_key`)
540
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
541
+
542
+ -- Create syntax for TABLE 'acms_session'
543
+ CREATE TABLE `acms_session` (
544
+ `session_id` char(32) NOT NULL,
545
+ `session_next_id` char(32) NOT NULL,
546
+ `session_expire` datetime DEFAULT NULL,
547
+ `session_data` longtext NOT NULL,
548
+ `session_unique_ua` char(32) NOT NULL,
549
+ `session_cookie` varchar(8) NOT NULL,
550
+ `session_left` int(11) NOT NULL,
551
+ `session_right` int(11) NOT NULL,
552
+ `session_user_id` int(11) NOT NULL,
553
+ `session_blog_id` int(11) NOT NULL,
554
+ PRIMARY KEY (`session_id`),
555
+ UNIQUE KEY `session_next_id` (`session_next_id`)
556
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
557
+
558
+ -- Create syntax for TABLE 'acms_shop_address'
559
+ CREATE TABLE `acms_shop_address` (
560
+ `address_id` int(11) NOT NULL,
561
+ `address_primary` varchar(8) NOT NULL,
562
+ `address_name` varchar(64) NOT NULL,
563
+ `address_ruby` varchar(64) DEFAULT NULL,
564
+ `address_country` varchar(64) DEFAULT NULL,
565
+ `address_zip` varchar(64) NOT NULL,
566
+ `address_prefecture` varchar(64) NOT NULL,
567
+ `address_city` varchar(64) NOT NULL,
568
+ `address_field_1` varchar(64) NOT NULL,
569
+ `address_field_2` varchar(64) DEFAULT NULL,
570
+ `address_telephone` varchar(64) NOT NULL,
571
+ `address_user_id` int(11) NOT NULL,
572
+ `address_blog_id` int(11) NOT NULL,
573
+ PRIMARY KEY (`address_id`),
574
+ KEY `address_user_id` (`address_primary`,`address_user_id`)
575
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
576
+
577
+ -- Create syntax for TABLE 'acms_shop_cart'
578
+ CREATE TABLE `acms_shop_cart` (
579
+ `cart_session_id` char(32) NOT NULL,
580
+ `cart_data` longtext NOT NULL,
581
+ `cart_blog_id` int(11) NOT NULL,
582
+ UNIQUE KEY `cart_session_id` (`cart_session_id`,`cart_blog_id`)
583
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
584
+
585
+ -- Create syntax for TABLE 'acms_shop_receipt'
586
+ CREATE TABLE `acms_shop_receipt` (
587
+ `receipt_code` char(15) NOT NULL DEFAULT '10000101-0001',
588
+ `receipt_status` varchar(255) NOT NULL,
589
+ `receipt_payment` varchar(255) NOT NULL,
590
+ `receipt_deliver` varchar(255) NOT NULL,
591
+ `receipt_address` longtext NOT NULL,
592
+ `receipt_total` int(11) NOT NULL,
593
+ `receipt_subtotal` int(11) NOT NULL,
594
+ `receipt_request_date` varchar(255) DEFAULT NULL,
595
+ `receipt_request_time` varchar(255) DEFAULT NULL,
596
+ `receipt_request_others` varchar(255) DEFAULT NULL,
597
+ `receipt_charge_payment` int(11) DEFAULT NULL,
598
+ `receipt_charge_deliver` int(11) DEFAULT NULL,
599
+ `receipt_charge_others` int(11) DEFAULT NULL,
600
+ `receipt_note` longtext,
601
+ `receipt_log` blob,
602
+ `receipt_datetime` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
603
+ `receipt_updated_datetime` datetime NOT NULL DEFAULT '9999-12-31 23:59:59',
604
+ `receipt_user_id` int(11) NOT NULL,
605
+ `receipt_blog_id` int(11) NOT NULL,
606
+ PRIMARY KEY (`receipt_code`),
607
+ KEY `receipt_user_id` (`receipt_user_id`),
608
+ KEY `receipt_blog_id` (`receipt_blog_id`)
609
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
610
+
611
+ -- Create syntax for TABLE 'acms_shop_receipt_detail'
612
+ CREATE TABLE `acms_shop_receipt_detail` (
613
+ `receipt_detail_id` int(11) NOT NULL,
614
+ `receipt_detail_name` varchar(255) NOT NULL,
615
+ `receipt_detail_price` int(11) NOT NULL,
616
+ `receipt_detail_qty` int(11) NOT NULL,
617
+ `receipt_detail_field` longtext,
618
+ `receipt_detail_datetime` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
619
+ `receipt_detail_item_id` int(11) NOT NULL,
620
+ `receipt_detail_parent_code` char(14) NOT NULL,
621
+ `receipt_detail_blog_id` int(11) NOT NULL,
622
+ PRIMARY KEY (`receipt_detail_id`),
623
+ KEY `receipt_detail_parent_code` (`receipt_detail_parent_code`)
624
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
625
+
626
+ -- Create syntax for TABLE 'acms_tag'
627
+ CREATE TABLE `acms_tag` (
628
+ `tag_name` varchar(255) NOT NULL,
629
+ `tag_sort` int(11) NOT NULL,
630
+ `tag_entry_id` int(11) NOT NULL,
631
+ `tag_blog_id` int(11) NOT NULL,
632
+ PRIMARY KEY (`tag_entry_id`,`tag_sort`),
633
+ KEY `tag_name_entry` (`tag_name`,`tag_entry_id`),
634
+ KEY `tag_blog_id` (`tag_blog_id`,`tag_name`)
635
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
636
+
637
+ -- Create syntax for TABLE 'acms_tag_rev'
638
+ CREATE TABLE `acms_tag_rev` (
639
+ `tag_name` varchar(255) NOT NULL,
640
+ `tag_sort` int(11) NOT NULL,
641
+ `tag_entry_id` int(11) NOT NULL,
642
+ `tag_blog_id` int(11) NOT NULL,
643
+ `tag_rev_id` int(11) NOT NULL,
644
+ PRIMARY KEY (`tag_entry_id`,`tag_sort`,`tag_rev_id`),
645
+ KEY `tag_name_entry` (`tag_name`,`tag_entry_id`,`tag_rev_id`),
646
+ KEY `tag_blog_id` (`tag_blog_id`,`tag_name`,`tag_rev_id`)
647
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
648
+
649
+ -- Create syntax for TABLE 'acms_trackback'
650
+ CREATE TABLE `acms_trackback` (
651
+ `trackback_id` int(11) NOT NULL,
652
+ `trackback_status` varchar(16) NOT NULL DEFAULT 'open',
653
+ `trackback_url` varchar(255) NOT NULL,
654
+ `trackback_title` varchar(255) NOT NULL,
655
+ `trackback_excerpt` varchar(255) NOT NULL,
656
+ `trackback_blog_name` varchar(255) NOT NULL,
657
+ `trackback_response` varchar(255) NOT NULL,
658
+ `trackback_host` varchar(255) NOT NULL,
659
+ `trackback_datetime` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
660
+ `trackback_flow` varchar(16) NOT NULL DEFAULT 'receive',
661
+ `trackback_entry_id` int(11) NOT NULL,
662
+ `trackback_blog_id` int(11) NOT NULL,
663
+ PRIMARY KEY (`trackback_entry_id`,`trackback_id`,`trackback_status`)
664
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
665
+
666
+ -- Create syntax for TABLE 'acms_user'
667
+ CREATE TABLE `acms_user` (
668
+ `user_id` int(11) NOT NULL,
669
+ `user_code` varchar(64) NOT NULL,
670
+ `user_status` varchar(16) NOT NULL DEFAULT 'open',
671
+ `user_sort` int(11) NOT NULL,
672
+ `user_name` varchar(255) NOT NULL,
673
+ `user_pass` char(32) NOT NULL,
674
+ `user_pass_reset` varchar(32) NOT NULL,
675
+ `user_mail` varchar(255) NOT NULL,
676
+ `user_mail_magazine` varchar(8) NOT NULL DEFAULT 'on',
677
+ `user_mail_mobile` varchar(255) NOT NULL,
678
+ `user_mail_mobile_magazine` varchar(8) NOT NULL DEFAULT 'on',
679
+ `user_url` varchar(255) NOT NULL,
680
+ `user_icon` varchar(256) NOT NULL,
681
+ `user_auth` varchar(16) NOT NULL DEFAULT 'contributor',
682
+ `user_indexing` varchar(8) NOT NULL DEFAULT 'on',
683
+ `user_login_anywhere` varchar(8) NOT NULL DEFAULT 'off',
684
+ `user_login_expire` date NOT NULL DEFAULT '9999-12-31',
685
+ `user_login_datetime` datetime DEFAULT NULL,
686
+ `user_updated_datetime` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
687
+ `user_generated_datetime` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
688
+ `user_blog_id` int(11) NOT NULL,
689
+ PRIMARY KEY (`user_id`)
690
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
691
+
692
+ -- Create syntax for TABLE 'acms_usergroup'
693
+ CREATE TABLE `acms_usergroup` (
694
+ `usergroup_id` int(11) NOT NULL,
695
+ `usergroup_name` varchar(256) NOT NULL,
696
+ `usergroup_role_id` int(11) NOT NULL,
697
+ PRIMARY KEY (`usergroup_id`),
698
+ KEY `usergroup_role_id` (`usergroup_role_id`),
699
+ KEY `usergroup_role` (`usergroup_id`,`usergroup_role_id`)
700
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
701
+
702
+ -- Create syntax for TABLE 'acms_usergroup_user'
703
+ CREATE TABLE `acms_usergroup_user` (
704
+ `usergroup_id` int(11) NOT NULL,
705
+ `user_id` int(11) NOT NULL,
706
+ PRIMARY KEY (`usergroup_id`,`user_id`)
707
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
708
+
709
+ -- Create syntax for TABLE 'acms_workflow'
710
+ CREATE TABLE `acms_workflow` (
711
+ `workflow_blog_id` int(11) NOT NULL,
712
+ `workflow_status` varchar(8) NOT NULL DEFAULT 'close',
713
+ `workflow_name` varchar(256) NOT NULL,
714
+ `workflow_start_group` int(11) NOT NULL,
715
+ `workflow_last_group` int(11) NOT NULL,
716
+ PRIMARY KEY (`workflow_blog_id`)
717
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
718
+
719
+ -- Create syntax for TABLE 'acms_workflow_usergroup'
720
+ CREATE TABLE `acms_workflow_usergroup` (
721
+ `workflow_blog_id` int(11) NOT NULL,
722
+ `usergroup_id` int(11) NOT NULL,
723
+ `workflow_sort` int(11) NOT NULL,
724
+ PRIMARY KEY (`workflow_blog_id`,`workflow_sort`)
725
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;