@@ -15,15 +15,18 @@ namespace :clickhouse do
15
15
# TODO: deprecated
16
16
desc 'Load database schema'
17
17
task load : %i[ prepare_internal_metadata_table ] do
18
+ puts 'Warning: `rake clickhouse:schema:load` is deprecated! Use `rake db:schema:load:clickhouse` instead'
18
19
simple = ENV [ 'simple' ] || ARGV . any? { |a | a . include? ( '--simple' ) } ? '_simple' : nil
19
20
ActiveRecord ::Base . establish_connection ( :clickhouse )
20
- ActiveRecord ::SchemaMigration . drop_table
21
+ connection = ActiveRecord ::Tasks ::DatabaseTasks . migration_connection
22
+ connection . schema_migration . drop_table
21
23
load ( Rails . root . join ( "db/clickhouse_schema#{ simple } .rb" ) )
22
24
end
23
25
24
26
# TODO: deprecated
25
27
desc 'Dump database schema'
26
28
task dump : :environment do |_ , args |
29
+ puts 'Warning: `rake clickhouse:schema:dump` is deprecated! Use `rake db:schema:dump:clickhouse` instead'
27
30
simple = ENV [ 'simple' ] || args [ :simple ] || ARGV . any? { |a | a . include? ( '--simple' ) } ? '_simple' : nil
28
31
filename = Rails . root . join ( "db/clickhouse_schema#{ simple } .rb" )
29
32
File . open ( filename , 'w:utf-8' ) do |file |
@@ -36,43 +39,38 @@ namespace :clickhouse do
36
39
namespace :structure do
37
40
desc 'Load database structure'
38
41
task load : [ 'db:check_protected_environments' ] do
39
- config = ActiveRecord ::Base . configurations . configs_for ( env_name : Rails . env , name : 'clickhouse' )
40
42
ClickhouseActiverecord ::Tasks . new ( config ) . structure_load ( Rails . root . join ( 'db/clickhouse_structure.sql' ) )
41
43
end
42
44
43
45
desc 'Dump database structure'
44
46
task dump : [ 'db:check_protected_environments' ] do
45
- config = ActiveRecord ::Base . configurations . configs_for ( env_name : Rails . env , name : 'clickhouse' )
46
47
ClickhouseActiverecord ::Tasks . new ( config ) . structure_dump ( Rails . root . join ( 'db/clickhouse_structure.sql' ) )
47
48
end
48
49
end
49
50
50
51
desc 'Creates the database from DATABASE_URL or config/database.yml'
51
52
task create : [ ] do
52
- config = ActiveRecord ::Base . configurations . configs_for ( env_name : Rails . env , name : 'clickhouse' )
53
- ActiveRecord ::Tasks ::DatabaseTasks . create ( config )
53
+ puts 'Warning: `rake clickhouse:create` is deprecated! Use `rake db:create:clickhouse` instead'
54
54
end
55
55
56
56
desc 'Drops the database from DATABASE_URL or config/database.yml'
57
57
task drop : [ 'db:check_protected_environments' ] do
58
- config = ActiveRecord ::Base . configurations . configs_for ( env_name : Rails . env , name : 'clickhouse' )
59
- ActiveRecord ::Tasks ::DatabaseTasks . drop ( config )
58
+ puts 'Warning: `rake clickhouse:drop` is deprecated! Use `rake db:drop:clickhouse` instead'
60
59
end
61
60
62
61
desc 'Empty the database from DATABASE_URL or config/database.yml'
63
62
task purge : [ 'db:check_protected_environments' ] do
64
- config = ActiveRecord ::Base . configurations . configs_for ( env_name : Rails . env , name : 'clickhouse' )
65
- ActiveRecord ::Tasks ::DatabaseTasks . purge ( config )
63
+ puts 'Warning: `rake clickhouse:purge` is deprecated! Use `rake db:reset:clickhouse` instead'
66
64
end
67
65
68
66
# desc 'Resets your database using your migrations for the current environment'
69
67
task :reset do
70
- Rake ::Task [ 'clickhouse:purge' ] . execute
71
- Rake ::Task [ 'clickhouse:migrate' ] . execute
68
+ puts 'Warning: `rake clickhouse:reset` is deprecated! Use `rake db:reset:clickhouse` instead'
72
69
end
73
70
74
71
desc 'Migrate the clickhouse database'
75
72
task migrate : %i[ prepare_schema_migration_table prepare_internal_metadata_table ] do
73
+ puts 'Warning: `rake clickhouse:migrate` is deprecated! Use `rake db:migrate:clickhouse` instead'
76
74
Rake ::Task [ 'db:migrate:clickhouse' ] . execute
77
75
if File . exist? "#{ Rails . root } /db/clickhouse_schema_simple.rb"
78
76
Rake ::Task [ 'clickhouse:schema:dump' ] . execute ( simple : true )
@@ -81,9 +79,14 @@ namespace :clickhouse do
81
79
82
80
desc 'Rollback the clickhouse database'
83
81
task rollback : %i[ prepare_schema_migration_table prepare_internal_metadata_table ] do
82
+ puts 'Warning: `rake clickhouse:rollback` is deprecated! Use `rake db:rollback:clickhouse` instead'
84
83
Rake ::Task [ 'db:rollback:clickhouse' ] . execute
85
84
if File . exist? "#{ Rails . root } /db/clickhouse_schema_simple.rb"
86
85
Rake ::Task [ 'clickhouse:schema:dump' ] . execute ( simple : true )
87
86
end
88
87
end
88
+
89
+ def config
90
+ ActiveRecord ::Base . configurations . configs_for ( env_name : Rails . env , name : 'clickhouse' )
91
+ end
89
92
end
0 commit comments