diff --git a/lib/generators/ckeditor/install_generator.rb b/lib/generators/ckeditor/install_generator.rb index 984d5e376..c86a671d2 100644 --- a/lib/generators/ckeditor/install_generator.rb +++ b/lib/generators/ckeditor/install_generator.rb @@ -53,7 +53,7 @@ def create_models def create_ckeditor_migration if ['active_record'].include?(orm) - migration_template "#{generator_dir}/migration.rb", + migration_template "#{generator_dir}/#{migration_file}.rb", File.join('db/migrate', 'create_ckeditor_assets.rb'), migration_version: migration_version end @@ -94,9 +94,11 @@ def rails5? end def migration_version - if rails5? - "[#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}]" - end + "[#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}]" + end + + def migration_file + rails5? ? 'migration_versioned' : 'migration' end end end diff --git a/lib/generators/ckeditor/templates/active_record/carrierwave/migration.rb b/lib/generators/ckeditor/templates/active_record/carrierwave/migration.rb index ab02b24da..14370e36d 100644 --- a/lib/generators/ckeditor/templates/active_record/carrierwave/migration.rb +++ b/lib/generators/ckeditor/templates/active_record/carrierwave/migration.rb @@ -1,4 +1,4 @@ -class CreateCkeditorAssets < ActiveRecord::Migration<%= migration_version %> +class CreateCkeditorAssets < ActiveRecord::Migration def self.up create_table :ckeditor_assets do |t| t.string :data_file_name, null: false diff --git a/lib/generators/ckeditor/templates/active_record/carrierwave/migration_versioned.rb b/lib/generators/ckeditor/templates/active_record/carrierwave/migration_versioned.rb new file mode 100644 index 000000000..ab02b24da --- /dev/null +++ b/lib/generators/ckeditor/templates/active_record/carrierwave/migration_versioned.rb @@ -0,0 +1,22 @@ +class CreateCkeditorAssets < ActiveRecord::Migration<%= migration_version %> + def self.up + create_table :ckeditor_assets do |t| + t.string :data_file_name, null: false + t.string :data_content_type + t.integer :data_file_size + t.string :type, limit: 30 + + # Uncomment it to save images dimensions, if your need it + t.integer :width + t.integer :height + + t.timestamps null: false + end + + add_index :ckeditor_assets, :type + end + + def self.down + drop_table :ckeditor_assets + end +end diff --git a/lib/generators/ckeditor/templates/active_record/dragonfly/migration.rb b/lib/generators/ckeditor/templates/active_record/dragonfly/migration.rb index 967afc42c..98c51d18b 100644 --- a/lib/generators/ckeditor/templates/active_record/dragonfly/migration.rb +++ b/lib/generators/ckeditor/templates/active_record/dragonfly/migration.rb @@ -1,4 +1,4 @@ -class CreateCkeditorAssets < ActiveRecord::Migration<%= migration_version %> +class CreateCkeditorAssets < ActiveRecord::Migration def self.up create_table :ckeditor_assets do |t| t.string :data_uid, null: false diff --git a/lib/generators/ckeditor/templates/active_record/dragonfly/migration_versioned.rb b/lib/generators/ckeditor/templates/active_record/dragonfly/migration_versioned.rb new file mode 100644 index 000000000..967afc42c --- /dev/null +++ b/lib/generators/ckeditor/templates/active_record/dragonfly/migration_versioned.rb @@ -0,0 +1,23 @@ +class CreateCkeditorAssets < ActiveRecord::Migration<%= migration_version %> + def self.up + create_table :ckeditor_assets do |t| + t.string :data_uid, null: false + t.string :data_name, null: false + t.string :data_mime_type + t.integer :data_size + t.string :type, limit: 30 + + # Uncomment these to save image dimensions, if your need them. + t.integer :data_width + t.integer :data_height + + t.timestamps null: false + end + + add_index :ckeditor_assets, :type + end + + def self.down + drop_table :ckeditor_assets + end +end diff --git a/lib/generators/ckeditor/templates/active_record/paperclip/migration.rb b/lib/generators/ckeditor/templates/active_record/paperclip/migration.rb index d93971064..df3df2862 100644 --- a/lib/generators/ckeditor/templates/active_record/paperclip/migration.rb +++ b/lib/generators/ckeditor/templates/active_record/paperclip/migration.rb @@ -1,4 +1,4 @@ -class CreateCkeditorAssets < ActiveRecord::Migration<%= migration_version %> +class CreateCkeditorAssets < ActiveRecord::Migration def self.up create_table :ckeditor_assets do |t| t.string :data_file_name, null: false diff --git a/lib/generators/ckeditor/templates/active_record/paperclip/migration_versioned.rb b/lib/generators/ckeditor/templates/active_record/paperclip/migration_versioned.rb new file mode 100644 index 000000000..d93971064 --- /dev/null +++ b/lib/generators/ckeditor/templates/active_record/paperclip/migration_versioned.rb @@ -0,0 +1,23 @@ +class CreateCkeditorAssets < ActiveRecord::Migration<%= migration_version %> + def self.up + create_table :ckeditor_assets do |t| + t.string :data_file_name, null: false + t.string :data_content_type + t.integer :data_file_size + t.string :data_fingerprint + t.string :type, limit: 30 + + # Uncomment it to save images dimensions, if your need it + t.integer :width + t.integer :height + + t.timestamps null: false + end + + add_index :ckeditor_assets, :type + end + + def self.down + drop_table :ckeditor_assets + end +end diff --git a/lib/generators/ckeditor/templates/active_record/refile/migration.rb b/lib/generators/ckeditor/templates/active_record/refile/migration.rb index 65b72fd53..319ec32cf 100644 --- a/lib/generators/ckeditor/templates/active_record/refile/migration.rb +++ b/lib/generators/ckeditor/templates/active_record/refile/migration.rb @@ -1,4 +1,4 @@ -class CreateCkeditorAssets < ActiveRecord::Migration<%= migration_version %> +class CreateCkeditorAssets < ActiveRecord::Migration def self.up create_table :ckeditor_assets do |t| t.string :data_id, null: false diff --git a/lib/generators/ckeditor/templates/active_record/refile/migration_versioned.rb b/lib/generators/ckeditor/templates/active_record/refile/migration_versioned.rb new file mode 100644 index 000000000..65b72fd53 --- /dev/null +++ b/lib/generators/ckeditor/templates/active_record/refile/migration_versioned.rb @@ -0,0 +1,23 @@ +class CreateCkeditorAssets < ActiveRecord::Migration<%= migration_version %> + def self.up + create_table :ckeditor_assets do |t| + t.string :data_id, null: false + t.string :data_filename, null: false + t.integer :data_size + t.string :data_content_type + t.string :type, limit: 30 + + # Uncomment it to save images dimensions, if your need it + t.integer :width + t.integer :height + + t.timestamps null: false + end + + add_index :ckeditor_assets, :type + end + + def self.down + drop_table :ckeditor_assets + end +end diff --git a/test/test_helper.rb b/test/test_helper.rb index c5b9a35ba..105431701 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -7,7 +7,7 @@ puts "\n==> Ckeditor.orm = #{CKEDITOR_ORM.inspect}. CKEDITOR_ORM = (active_record|mongoid)" puts "\n==> Ckeditor.backend = #{CKEDITOR_BACKEND.inspect}. CKEDITOR_BACKEND = (paperclip|carrierwave|refile|dragonfly)" -require File.expand_path("../dummy/config/environment.rb", __FILE__) +require File.expand_path("../dummy/config/environment.rb", __FILE__) require "rails/test_help" require 'redgreen'