7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/generators/layered/assistant/migrations_generator.rb', line 7
def copy_migrations
engine_migrations_path = Layered::Assistant::Engine.root.join("db/migrate")
app_migrations_dir = "db/migrate"
unless engine_migrations_path.exist?
say "No migrations found in layered-assistant-rails.", :yellow
return
end
app_migrations_path = File.join(destination_root, app_migrations_dir)
existing_migrations = Dir[File.join(app_migrations_path, "*.rb")].map { |f| migration_name(File.basename(f)) }
timestamp = Time.now.utc.strftime("%Y%m%d%H%M%S").to_i
Dir[engine_migrations_path.join("*.rb")].sort.each do |source|
basename = File.basename(source)
name = migration_name(basename)
if existing_migrations.include?(name)
say " skip #{name} (already exists)", :yellow
next
end
content = "# This migration comes from layered_assistant (originally #{basename.split("_").first})\n" + File.read(source)
create_file "#{app_migrations_dir}/#{timestamp}_#{name}.layered_assistant.rb", content
timestamp += 1
end
end
|