optimacms 0.1.60 → 0.2.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b4861e647ada267722d67aa45679626457ebc454
4
- data.tar.gz: b8baf6d6bc098d55094df0508155a01385b5850d
3
+ metadata.gz: bf64180dc36b5fa4e9f0a965d4876c3e60f1fcae
4
+ data.tar.gz: e39f18d55e0174be134dd5e2f2a5c1b9e721c551
5
5
  SHA512:
6
- metadata.gz: 00640f6c5a4a861dec892a7095994ecf4b90b9a3a4117bc43e58a296cb3302c25db2b84145f522ebeb51ac214f831a6b01b6c254142a17b2471ca26035015cb5
7
- data.tar.gz: 8fbe2270703698e0e3c0f0d824f16f18ce31b9d182edb126a603c0eac9c3fb796d347ab57c4fb483a9a3539de98ede091c73f12e04878c7deeb97bbb66569f34
6
+ metadata.gz: df4dd642f28cab6fe0d854709362d6be529489d671669cb4e64ac771c626811f8920b1f87024a7a918f4370522f82da2f7c2c2d3bd8f523edb6277cd60f72e7d
7
+ data.tar.gz: df03a2f62ed057ed1a5727650df97b5224d4a981e0b5551a9a702a4724158f85d98036d5185670219fadaa851f93c71a74cdaaad4b155c7cf3ccd5e5f597946f
@@ -24,38 +24,13 @@ module Optimacms
24
24
  end
25
25
 
26
26
  def addadminuser
27
- #return
27
+ return
28
28
 
29
- row = Optimacms::CmsAdminUser.where(email: 'admin@example.com').first || Optimacms::CmsAdminUser.new
29
+ row = Optimacms::CmsAdminUser.new
30
30
  row.email = 'admin@example.com'
31
31
  row.password = 'password'
32
- row.password_confirmation = row.password
33
32
 
34
- row.save!
35
- end
36
-
37
- def url1
38
- v = '[a-z\d\_]+'
39
-
40
- p = '(:pg)'
41
- p.gsub! /(\(\:#{v}\))([-\.]|$)/, '([^/]+|)\2'
42
-
43
- x = 0
44
-
45
- end
46
-
47
- def url2
48
- u = "news/3"
49
- r = /^news\/([^\/]+|)$/
50
-
51
- if u =~ /^news(\/.*|)$/
52
-
53
- x = $1
54
- y = $2
55
-
56
- z=0
57
-
58
- end
33
+ row.save
59
34
  end
60
35
  end
61
36
 
@@ -37,7 +37,6 @@ module Optimacms
37
37
  c.response = ActionDispatch::Response.new
38
38
 
39
39
  c.send 'my_set_render'
40
- c.send 'optimacms_set_pagedata', @pagedata
41
40
  c.send 'my_set_render_template', tpl_view, tpl_layout
42
41
  c.send 'my_set_meta', @pagedata.meta
43
42
 
@@ -57,7 +56,6 @@ module Optimacms
57
56
  #app.response.body
58
57
  end
59
58
 
60
-
61
59
  def show
62
60
  @path = params[:url]
63
61
  @pagedata = PageServices::PageRouteService.find_page_by_url(@path, current_lang)
@@ -79,7 +77,6 @@ module Optimacms
79
77
  #@content = @pagedata.get_content(@page)
80
78
  #@content = @page.content
81
79
 
82
- optimacms_set_pagedata @pagedata
83
80
  my_set_render_template @pagedata.template.path, @pagedata.layout.basename
84
81
  my_set_meta @pagedata.meta
85
82
 
@@ -23,32 +23,10 @@ module Optimacms
23
23
  s.gsub /"/, '\"'
24
24
  end
25
25
 
26
- def url_for(options = nil)
27
- #url_for
28
- # page processed by CMS
29
- if options.present? && options.kind_of?(Hash) && options[:controller]=='optimacms/pages' && options[:action]=='show'
30
-
31
- # get current page name
32
- page_name = options[:page_name] || controller.optimacms_pagedata.page.name
33
- if page_name.present?
34
- u = site_page_path(page_name, options)
35
-
36
- if u.present?
37
- return u
38
- end
39
- end
40
- end
41
-
42
- #
43
- return super(options)
44
- end
45
-
46
-
47
-
48
26
  def meta_tags(title=nil, keywords=nil, desc=nil)
49
- #s = 'news "11"'
50
- #s1 = s.gsub /"/, '\"'
51
- #s2 = eval('"'+s1+'"')
27
+ s = 'news "11"'
28
+ s1 = s.gsub /"/, '\"'
29
+ s2 = eval('"'+s1+'"')
52
30
  title ||= eval_meta_string(fix_quotes(@optimacms_meta_title))
53
31
  keywords ||= eval_meta_string(@optimacms_meta_keywords)
54
32
  desc ||= eval_meta_string(@optimacms_meta_description)
data/config/routes.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  Optimacms::Engine.routes.draw do
2
2
 
3
3
  # admin
4
- scope '/'+Optimacms.admin_namespace, module: "admin" do
4
+ scope '/cmsadmin', module: "admin" do
5
5
  #devise_for :users, { class_name: "Optimacms::User", module: :devise }
6
6
 
7
7
  get '/' => 'dashboard#index', as: :dashboard
@@ -0,0 +1,11 @@
1
+ class AddAttachmentPhotoToMediafiles < ActiveRecord::Migration
2
+ def self.up
3
+ change_table :cms_mediafiles do |t|
4
+ t.attachment :photo
5
+ end
6
+ end
7
+
8
+ def self.down
9
+ remove_attachment :cms_mediafiles, :photo
10
+ end
11
+ end
@@ -0,0 +1,42 @@
1
+ class DeviseCreateOptimacmsCmsUsers < ActiveRecord::Migration
2
+ def change
3
+ create_table(:optimacms_cms_users) do |t|
4
+ ## Database authenticatable
5
+ t.string :email, null: false, default: ""
6
+ t.string :encrypted_password, null: false, default: ""
7
+
8
+ ## Recoverable
9
+ t.string :reset_password_token
10
+ t.datetime :reset_password_sent_at
11
+
12
+ ## Rememberable
13
+ t.datetime :remember_created_at
14
+
15
+ ## Trackable
16
+ t.integer :sign_in_count, default: 0, null: false
17
+ t.datetime :current_sign_in_at
18
+ t.datetime :last_sign_in_at
19
+ t.string :current_sign_in_ip
20
+ t.string :last_sign_in_ip
21
+
22
+ ## Confirmable
23
+ # t.string :confirmation_token
24
+ # t.datetime :confirmed_at
25
+ # t.datetime :confirmation_sent_at
26
+ # t.string :unconfirmed_email # Only if using reconfirmable
27
+
28
+ ## Lockable
29
+ # t.integer :failed_attempts, default: 0, null: false # Only if lock strategy is :failed_attempts
30
+ # t.string :unlock_token # Only if unlock strategy is :email or :both
31
+ # t.datetime :locked_at
32
+
33
+
34
+ t.timestamps
35
+ end
36
+
37
+ add_index :optimacms_cms_users, :email, unique: true
38
+ add_index :optimacms_cms_users, :reset_password_token, unique: true
39
+ # add_index :optimacms_cms_users, :confirmation_token, unique: true
40
+ # add_index :optimacms_cms_users, :unlock_token, unique: true
41
+ end
42
+ end
@@ -0,0 +1,13 @@
1
+ class ChangeMetaDescriptionForPages < ActiveRecord::Migration
2
+ def up
3
+ change_table :cms_pages_translation do |t|
4
+ t.change :meta_description, :text
5
+ end
6
+ end
7
+
8
+ def down
9
+ change_table :cms_pages_translation do |t|
10
+ t.change :meta_description, :string
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,11 @@
1
+ class AddIndexNameToPages < ActiveRecord::Migration
2
+
3
+ def up
4
+ add_index :cms_pages, :name
5
+
6
+ end
7
+
8
+ def down
9
+ remove_index :cms_pages, :name
10
+ end
11
+ end
@@ -7,8 +7,7 @@ module Optimacms
7
7
  def self.config
8
8
  {
9
9
  class_name: "Optimacms::CmsAdminUser",
10
- #path: '/cmsadmin',
11
- path: '/'+Optimacms.main_namespace+'/'+Optimacms.admin_namespace,
10
+ path: '/cmsadmin',
12
11
  #path: ActiveAdmin.application.default_namespace || "/",
13
12
  controllers: Optimacms::Devise.controllers,
14
13
  path_names: { sign_in: 'login', sign_out: "logout" },
@@ -12,10 +12,6 @@ module Optimacms
12
12
 
13
13
  end
14
14
 
15
- def is_optimacms
16
- @is_optimacms
17
- end
18
-
19
15
  def default_render(*args)
20
16
  if self.controller_name!='pages' && !@optimacms_tpl.nil? && @is_optimacms
21
17
  render @optimacms_tpl, :layout=>@optimacms_layout and return
@@ -31,15 +27,6 @@ module Optimacms
31
27
  super
32
28
  end
33
29
 
34
- def optimacms_pagedata
35
- @pagedata
36
- end
37
-
38
- def optimacms_set_pagedata(_pagedata)
39
- @pagedata = _pagedata
40
-
41
- end
42
-
43
30
  def my_set_render_template(tpl_view, tpl_layout)
44
31
  @optimacms_tpl = tpl_view
45
32
  @optimacms_layout = tpl_layout
@@ -74,8 +61,6 @@ module Optimacms
74
61
  #
75
62
  res = PageServices::PageRouteService.make_url url, p
76
63
 
77
- return nil if res.nil?
78
-
79
64
  '/'+res
80
65
  end
81
66
 
@@ -63,15 +63,7 @@ module Optimacms
63
63
 
64
64
  url_parts = url.split '/'
65
65
  a = []
66
- i_part = 0
67
- n_parts = url_parts.count
68
- is_last_optional = false
69
-
70
66
  url_parts.each do |part|
71
- i_part+=1
72
- is_last_optional = false
73
-
74
-
75
67
  # check for brackets inside brackets
76
68
  return nil if part =~ /\{[^{}]*[{}][^{}]*\}/
77
69
 
@@ -80,28 +72,6 @@ module Optimacms
80
72
 
81
73
  p = part
82
74
 
83
-
84
- # variables inside (...) - optional
85
-
86
- # last optional varible
87
- if i_part==n_parts
88
- # /^(:name)..$
89
- # include last / as optional
90
- p_before = p.clone
91
- p.gsub! /^(\(\:#{REGEX_VARIABLE}\))([-\.]|$)/, '\/?([^/]+)*\2'
92
- is_last_optional = true if p!=p_before
93
- end
94
-
95
- p.gsub! /(\(\:#{REGEX_VARIABLE}\))([-\.]|$)/, '([^/]+)*\2'
96
-
97
- #if i_part>1
98
- # add / to the beginning - / is optional too
99
- #p.gsub! /(\(\:#{REGEX_VARIABLE}\))([-\.]|$)/, '([^/]+)*\2'
100
- #else
101
- # the first param
102
- #p.gsub! /(\(\:#{REGEX_VARIABLE}\))([-\.]|$)/, '([^/]+)*\2'
103
- #end
104
-
105
75
  # variables
106
76
  #p.gsub! /\{\$[^}]+\}/, '([^/]+)'
107
77
  p.gsub! /(\:#{REGEX_VARIABLE})([-\.]|$)/, '([^/]+)\2'
@@ -111,17 +81,11 @@ module Optimacms
111
81
  # replace '.'
112
82
  p.sub! '.', '[.]'
113
83
 
114
- #
115
- if i_part>1 && !is_last_optional
116
- p = '/'+p
117
- end
118
-
119
-
120
84
 
121
85
  a << p
122
86
  end
123
87
 
124
- return '^'+a.join('')+'$'
88
+ return '^'+url_parts.join('\/')+'$'
125
89
  end
126
90
 
127
91
  def self.count_url_parts(url)
@@ -144,8 +108,7 @@ module Optimacms
144
108
  return {} if page_row.nil?
145
109
  return {} if url.blank?
146
110
 
147
- #parsed_url = page_row.parsed_url.sub '/', '\/'
148
- parsed_url = page_row.parsed_url
111
+ parsed_url = page_row.parsed_url.sub '/', '\/'
149
112
 
150
113
  #if (preg_match('/' . $parsed_url . '/', $url, $values_matches)) {
151
114
  m_params_in_url = url.scan /#{parsed_url}/
@@ -181,35 +144,13 @@ module Optimacms
181
144
 
182
145
  end
183
146
 
184
- def self.make_url(u, params_extra={})
185
- p = params_extra.keys.map{|x| x.to_sym}
186
-
187
- p_used = []
188
- res = u.gsub(/\:#{REGEX_VARIABLE}/) do |name|
189
- p_used << name[1..-1].to_sym
190
- (params_extra[name[1..-1].to_sym] || '')
147
+ def self.make_url(u, p={})
148
+ res = u.gsub(/\:#{REGEX_VARIABLE}/) do
149
+ |name| (p[name[1..-1].to_sym] || '')
191
150
  end
192
-
193
- # remove ()
194
- res.gsub! /[\(\)]/, ''
195
-
196
- # add extra params
197
- p_not_used = p - p_used - [:controller, :action, :only_path, :url]
198
-
199
- #
200
- a_extra = []
201
- p_not_used.each do |name|
202
- a_extra << "#{name}=#{(params_extra[name] || '')}"
203
- end
204
- if a_extra.length>0
205
- res = res + '?'+a_extra.join('&')
206
- end
207
-
208
- #
209
- #res.gsub! /\?$/, ''
210
151
  res
211
152
  end
212
153
  end
213
154
 
214
155
  end
215
- end
156
+ end
@@ -1,3 +1,3 @@
1
1
  module Optimacms
2
- VERSION = "0.1.60"
2
+ VERSION = "0.2.1"
3
3
  end
data/lib/optimacms.rb CHANGED
@@ -2,24 +2,11 @@ require 'devise'
2
2
  require "optimacms/engine"
3
3
 
4
4
  module Optimacms
5
- #
6
5
  mattr_accessor :files_dir_path
6
+
7
7
  def files_dir_path
8
8
  @@files_dir_path || 'uploads'
9
9
  end
10
10
 
11
11
 
12
- #
13
- mattr_accessor :main_namespace
14
- def main_namespace
15
- @@main_namespace || ''
16
- end
17
-
18
-
19
- #
20
- mattr_accessor :admin_namespace
21
- def admin_namespace
22
- @@admin_namespace || 'admin'
23
- end
24
-
25
12
  end
@@ -4,8 +4,6 @@ class NewsController < ApplicationController
4
4
 
5
5
  def index
6
6
 
7
- x = params[:pg]
8
-
9
7
  @items = News.all
10
8
 
11
9
 
@@ -1,6 +1,6 @@
1
1
  %h2 Admin
2
2
  %ul
3
- %li= link_to 'admin area', '/'+Optimacms.main_namespace+'/'+Optimacms.admin_namespace
3
+ %li= link_to '/cmsadmin', '/cmsadmin'
4
4
 
5
5
  %h2 Users
6
6
  %ul
@@ -16,4 +16,4 @@
16
16
  %li= link_to '/newsitem-1.html', '/newsitem-1.html'
17
17
  %li= link_to '/services.html', '/services.html'
18
18
  %li= link_to '/service-education.html', '/service-education.html'
19
- %li= link_to '/service-hosting.html', '/service-hosting.html'
19
+ %li= link_to '/service-hosting.html', '/service-hosting.html'
@@ -19,11 +19,7 @@ default: &default
19
19
 
20
20
  development:
21
21
  <<: *default
22
- host: <%= Rails.application.secrets.db_host %>
23
- database: <%= Rails.application.secrets.db %>
24
- username: <%= Rails.application.secrets.db_user %>
25
- password: <%= Rails.application.secrets.db_password %>
26
-
22
+ database: my_cms
27
23
 
28
24
  # Warning: The database defined as "test" will be erased and
29
25
  # re-generated from your development database when you run "rake".
@@ -1,4 +1 @@
1
- Optimacms.main_namespace = '' # blank or any like 'cms'
2
- Optimacms.admin_namespace = 'admin'
3
-
4
- Optimacms.files_dir_path = 'img'
1
+ Optimacms.files_dir_path = 'img'
@@ -11,7 +11,7 @@ Rails.application.routes.draw do
11
11
 
12
12
 
13
13
  # extend admin area
14
- scope '/'+Optimacms.main_namespace+'/'+Optimacms.admin_namespace, module: "optimacms" do
14
+ scope '/cmsadmin', module: "optimacms" do
15
15
  namespace :admin do
16
16
  resources :news do
17
17
  collection do
@@ -23,7 +23,7 @@ Rails.application.routes.draw do
23
23
 
24
24
 
25
25
  # the last!!!
26
- mount Optimacms::Engine => '/'+Optimacms.main_namespace
26
+ mount Optimacms::Engine => "/"
27
27
 
28
28
  #
29
29
  root to: 'home#index'
@@ -13,12 +13,6 @@
13
13
  development:
14
14
  secret_key_base: e135e2b53ab10b0afff68c3f7f0d96e491146342113ab6e1c38409af772139d5317e3da8946ef9f6e6474eb937bc86c11ffe8406c2f9c2369fb6ec1a5b9c4d3b
15
15
 
16
- db: my_cms
17
- db_host: devapi.gex
18
- db_user: dev_gex
19
- db_password: Galactic1
20
-
21
-
22
16
  test:
23
17
  secret_key_base: 8ab08b04db9f09047e4333306df25eab59472443ee5574b8fd0feb8873b17f97afe924e3380ad50f6197718707d8c474cd7578bd9deb6f708b83072e5e89226f
24
18
 
@@ -0,0 +1,42 @@
1
+ class DeviseCreateUsers < ActiveRecord::Migration
2
+ def change
3
+ create_table(:users) do |t|
4
+ ## Database authenticatable
5
+ t.string :email, null: false, default: ""
6
+ t.string :encrypted_password, null: false, default: ""
7
+
8
+ ## Recoverable
9
+ t.string :reset_password_token
10
+ t.datetime :reset_password_sent_at
11
+
12
+ ## Rememberable
13
+ t.datetime :remember_created_at
14
+
15
+ ## Trackable
16
+ t.integer :sign_in_count, default: 0, null: false
17
+ t.datetime :current_sign_in_at
18
+ t.datetime :last_sign_in_at
19
+ t.string :current_sign_in_ip
20
+ t.string :last_sign_in_ip
21
+
22
+ ## Confirmable
23
+ # t.string :confirmation_token
24
+ # t.datetime :confirmed_at
25
+ # t.datetime :confirmation_sent_at
26
+ # t.string :unconfirmed_email # Only if using reconfirmable
27
+
28
+ ## Lockable
29
+ # t.integer :failed_attempts, default: 0, null: false # Only if lock strategy is :failed_attempts
30
+ # t.string :unlock_token # Only if unlock strategy is :email or :both
31
+ # t.datetime :locked_at
32
+
33
+
34
+ t.timestamps
35
+ end
36
+
37
+ add_index :users, :email, unique: true
38
+ add_index :users, :reset_password_token, unique: true
39
+ # add_index :users, :confirmation_token, unique: true
40
+ # add_index :users, :unlock_token, unique: true
41
+ end
42
+ end
@@ -11,12 +11,12 @@
11
11
  #
12
12
  # It's strongly recommended that you check this file into your version control system.
13
13
 
14
- ActiveRecord::Schema.define(version: 20150513224341) do
14
+ ActiveRecord::Schema.define(version: 20150610225422) do
15
15
 
16
16
  create_table "cms_languages", force: :cascade do |t|
17
17
  t.string "title", limit: 250
18
18
  t.string "lang", limit: 4
19
- t.boolean "enabled", default: true, null: false
19
+ t.boolean "enabled", limit: 1, default: true, null: false
20
20
  t.string "charset", limit: 15, default: "utf8_unicode_ci", null: false
21
21
  t.string "locale", limit: 255, null: false
22
22
  t.string "lang_html", limit: 10, null: false
@@ -44,30 +44,31 @@ ActiveRecord::Schema.define(version: 20150513224341) do
44
44
  t.string "parsed_url", limit: 255
45
45
  t.integer "parent_id", limit: 4, default: 0, null: false
46
46
  t.string "view_path", limit: 255
47
- t.boolean "is_translated", default: false, null: false
47
+ t.boolean "is_translated", limit: 1, default: false, null: false
48
48
  t.integer "status", limit: 4, default: 0, null: false
49
49
  t.integer "pos", limit: 4, default: 0, null: false
50
50
  t.string "redir_url", limit: 255
51
51
  t.integer "template_id", limit: 4
52
52
  t.integer "layout_id", limit: 4
53
53
  t.integer "owner", limit: 4
54
- t.boolean "is_folder", default: false, null: false
54
+ t.boolean "is_folder", limit: 1, default: false, null: false
55
55
  t.string "controller_action", limit: 255
56
56
  t.datetime "created_at", null: false
57
57
  t.datetime "updated_at", null: false
58
58
  t.integer "enabled", limit: 1, default: 1, null: false
59
59
  end
60
60
 
61
+ add_index "cms_pages", ["name"], name: "index_cms_pages_on_name", using: :btree
61
62
  add_index "cms_pages", ["parent_id"], name: "parent_id", using: :btree
62
63
  add_index "cms_pages", ["status"], name: "status", using: :btree
63
64
  add_index "cms_pages", ["url"], name: "url", using: :btree
64
65
 
65
66
  create_table "cms_pages_translation", force: :cascade do |t|
66
- t.integer "item_id", limit: 4, default: 0, null: false
67
+ t.integer "item_id", limit: 4, default: 0, null: false
67
68
  t.integer "page_id", limit: 4
68
- t.string "lang", limit: 5, null: false
69
+ t.string "lang", limit: 5, null: false
69
70
  t.string "meta_title", limit: 255
70
- t.string "meta_description", limit: 255
71
+ t.text "meta_description", limit: 65535
71
72
  t.string "meta_keywords", limit: 255
72
73
  t.string "template_filename", limit: 255
73
74
  end
@@ -85,11 +86,11 @@ ActiveRecord::Schema.define(version: 20150513224341) do
85
86
  t.integer "type_id", limit: 1
86
87
  t.string "tpl_format", limit: 255
87
88
  t.integer "pos", limit: 4
88
- t.boolean "is_translated", default: false, null: false
89
+ t.boolean "is_translated", limit: 1, default: false, null: false
89
90
  t.datetime "created_at", null: false
90
91
  t.datetime "updated_at", null: false
91
- t.boolean "is_folder", default: false, null: false
92
- t.boolean "enabled", default: true, null: false
92
+ t.boolean "is_folder", limit: 1, default: false, null: false
93
+ t.boolean "enabled", limit: 1, default: true, null: false
93
94
  t.string "ancestry", limit: 255
94
95
  end
95
96
 
@@ -128,6 +129,13 @@ ActiveRecord::Schema.define(version: 20150513224341) do
128
129
  add_index "cms_users", ["email"], name: "index_optimacms_cms_users_on_email", unique: true, using: :btree
129
130
  add_index "cms_users", ["reset_password_token"], name: "index_optimacms_cms_users_on_reset_password_token", unique: true, using: :btree
130
131
 
132
+ create_table "news", force: :cascade do |t|
133
+ t.string "title", limit: 255
134
+ t.text "description", limit: 65535
135
+ t.datetime "created_at", null: false
136
+ t.datetime "updated_at", null: false
137
+ end
138
+
131
139
  create_table "optimacms_articles", force: :cascade do |t|
132
140
  t.string "title", limit: 255
133
141
  t.text "text", limit: 65535
@@ -135,24 +143,6 @@ ActiveRecord::Schema.define(version: 20150513224341) do
135
143
  t.datetime "updated_at", null: false
136
144
  end
137
145
 
138
- create_table "optimacms_cms_users", force: :cascade do |t|
139
- t.string "email", limit: 255, default: "", null: false
140
- t.string "encrypted_password", limit: 255, default: "", null: false
141
- t.string "reset_password_token", limit: 255
142
- t.datetime "reset_password_sent_at"
143
- t.datetime "remember_created_at"
144
- t.integer "sign_in_count", limit: 4, default: 0, null: false
145
- t.datetime "current_sign_in_at"
146
- t.datetime "last_sign_in_at"
147
- t.string "current_sign_in_ip", limit: 255
148
- t.string "last_sign_in_ip", limit: 255
149
- t.datetime "created_at"
150
- t.datetime "updated_at"
151
- end
152
-
153
- add_index "optimacms_cms_users", ["email"], name: "index_optimacms_cms_users_on_email", unique: true, using: :btree
154
- add_index "optimacms_cms_users", ["reset_password_token"], name: "index_optimacms_cms_users_on_reset_password_token", unique: true, using: :btree
155
-
156
146
  create_table "users", force: :cascade do |t|
157
147
  t.string "email", limit: 255, default: "", null: false
158
148
  t.string "encrypted_password", limit: 255, default: "", null: false