acms_ruby 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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;
|