aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2015-09-01 05:02:47 +0900
committerKazuki Yamaguchi <k@rhe.jp>2015-09-01 05:02:47 +0900
commit5ae0327599e136934c428395ac3c32ae6cd1410b (patch)
treed8e6eb7d3c3437933fb8ebf21f65319a0ebd2113
parent891a5d5540c4e0f155f15243d4ad452dba7c4224 (diff)
downloadaclog-5ae0327599e136934c428395ac3c32ae6cd1410b.tar.gz
config/activerecord_config: make primary key config portable
-rw-r--r--config/initializers/activerecord_config.rb18
-rw-r--r--config/initializers/ar_mysql.rb7
2 files changed, 18 insertions, 7 deletions
diff --git a/config/initializers/activerecord_config.rb b/config/initializers/activerecord_config.rb
new file mode 100644
index 0000000..0ebb675
--- /dev/null
+++ b/config/initializers/activerecord_config.rb
@@ -0,0 +1,18 @@
+begin
+ require "active_record/connection_adapters/mysql2_adapter"
+
+ # MySQL / change primary_key from INT to BIGINT
+ ActiveRecord::ConnectionAdapters::Mysql2Adapter::NATIVE_DATABASE_TYPES[:primary_key] = "BIGINT UNSIGNED DEFAULT NULL AUTO_INCREMENT PRIMARY KEY"
+rescue LoadError
+end
+
+begin
+ require "active_record/connection_adapters/postgresql_adapter"
+
+ # PostgreSQL / change primary_key from INT to BIGINT
+ ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::NATIVE_DATABASE_TYPES[:primary_key] = "bigserial primary key"
+rescue LoadError
+end
+
+# MySQL / utf8mb4
+ActiveRecord::Base.connection.initialize_schema_migrations_table
diff --git a/config/initializers/ar_mysql.rb b/config/initializers/ar_mysql.rb
deleted file mode 100644
index 346e382..0000000
--- a/config/initializers/ar_mysql.rb
+++ /dev/null
@@ -1,7 +0,0 @@
-require 'active_record/connection_adapters/mysql2_adapter'
-
-# MySQL / change primary_key from INT to BIGINT
-ActiveRecord::ConnectionAdapters::Mysql2Adapter::NATIVE_DATABASE_TYPES[:primary_key] = "BIGINT UNSIGNED DEFAULT NULL AUTO_INCREMENT PRIMARY KEY"
-
-# MySQL / utf8mb4
-ActiveRecord::Base.connection.initialize_schema_migrations_table