acms_ruby 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +18 -0
- data/.rspec +1 -0
- data/Gemfile +6 -0
- data/LICENSE.txt +22 -0
- data/README.md +31 -0
- data/Rakefile +1 -0
- data/acms_ruby.gemspec +30 -0
- data/bin/acms +60 -0
- data/lib/acms_ruby.rb +21 -0
- data/lib/acms_ruby/active_record.rb +28 -0
- data/lib/acms_ruby/config.rb +41 -0
- data/lib/acms_ruby/factories.rb +69 -0
- data/lib/acms_ruby/models/blog.rb +30 -0
- data/lib/acms_ruby/models/category.rb +18 -0
- data/lib/acms_ruby/models/column.rb +39 -0
- data/lib/acms_ruby/models/entry.rb +41 -0
- data/lib/acms_ruby/models/field.rb +16 -0
- data/lib/acms_ruby/models/field_group.rb +35 -0
- data/lib/acms_ruby/models/field_select_methods.rb +50 -0
- data/lib/acms_ruby/models/form.rb +10 -0
- data/lib/acms_ruby/models/image.rb +26 -0
- data/lib/acms_ruby/models/image_field.rb +42 -0
- data/lib/acms_ruby/models/user.rb +13 -0
- data/lib/acms_ruby/version.rb +3 -0
- data/spec/database.sample.yml +8 -0
- data/spec/models/blog_spec.rb +53 -0
- data/spec/models/category_spec.rb +10 -0
- data/spec/models/column_spec.rb +25 -0
- data/spec/models/entry_spec.rb +24 -0
- data/spec/schema.sql +725 -0
- data/spec/spec_helper.rb +24 -0
- metadata +183 -0
@@ -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,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,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
|
data/spec/schema.sql
ADDED
@@ -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;
|