oss-gate / workshop

OSSの開発に未参加または参加したことはあるけどまだ自信がない人を後押しするワークショップ用のリポジトリー
124 stars 547 forks source link

OSS Gate Workshop: Tokyo: 2017-7-20: Kohei909Otsuka: spina: Work log #486

Closed Kohei909Otsuka closed 7 years ago

Kohei909Otsuka commented 7 years ago

This is a work log of a "OSS Gate workshop". "OSS Gate workshop" is an activity to increase OSS developers. Here's been discussed in Japanese. Thanks.

作業ログ作成時の説明

以下のテンプレートを埋めてタイトルに設定します。埋め方例はスクロールすると見えてきます。

OSS Gate Workshop: ${LOCATION}: ${YEAR}-${MONTH}-${DAY}: ${アカウント名}: ${OSS名}: Work log

タイトル例↓:

OSS Gate Workshop: Tokyo: 2017-01-16: kou: Rabbit: Work log

OSS Gateワークショップ関連情報

Kohei909Otsuka commented 7 years ago

githbubのレポジトリを読む

https://github.com/denkGroot/Spina

hiroyuki-sato commented 7 years ago

よろしくお願いします!

OtaYohihiro commented 7 years ago

太田です、よろしくお願いします!

nasum commented 7 years ago

よろしくお願いします!

takaya-fuj19 commented 7 years ago

藤巻です。よろしくお願いします。

Kohei909Otsuka commented 7 years ago

installして、とりあえず動くまでどうすればいいのか見てる。

Kohei909Otsuka commented 7 years ago

cmsというのはわかるが、動いたときのイメージが掴めないので、

公式サイトをみてみる http://www.spinacms.com

Kohei909Otsuka commented 7 years ago

公式サイト上のdemoをみてみた。

demoをみて、動作イメージが分かった。 http://spinacms-demo.herokuapp.com/admin/pages

Kohei909Otsuka commented 7 years ago

動作イメージがなんとなくわかったので、READMEをみながらinstallして動かしてみる

Kohei909Otsuka commented 7 years ago

localにrubyもrailsも入っていないので、環境を構築する

めんどくさい。けどこれは。。しょうがない気がする

hiroyuki-sato commented 7 years ago
eval "$(rbenv init -)"

入れてあります?

Kohei909Otsuka commented 7 years ago

環境構築が終わった!

vm上で空のrails appが動いている状態。

ここからspina gem をinstallしてみる

Kohei909Otsuka commented 7 years ago

db createしたけど documentにあるrails g spina:installが一発では通らない下記err

[vagrant@localhost test_cms_app]$ bundle exec rails g spina:install
Running via Spring preloader in process 3592
   identical  config/initializers/spina.rb
   identical  config/initializers/carrierwave.rb
        rake  spina:install:migrations
        rake  db:migrate
rake aborted!
ActiveRecord::NoDatabaseError: Unknown database 'test_cms_app_development'

Mysql2::Error: Unknown database 'test_cms_app_development'

Tasks: TOP => db:migrate
(See full trace by running task with --trace)
/home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/mysql2-0.4.8/lib/mysql2/client.rb:89:in `connect': Access denied for user 'root'@'localhost' (using password: NO) (Mysql2::Error)
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/mysql2-0.4.8/lib/mysql2/client.rb:89:in `initialize'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/connection_adapters/mysql2_adapter.rb:21:in `new'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/connection_adapters/mysql2_adapter.rb:21:in `mysql2_connection'
StandardError: An error has occurred, all later migrations canceled:

Directly inheriting from ActiveRecord::Migration is not supported. Please specify the Rails release the migration was written for:

  class CreateSpinaTables < ActiveRecord::Migration[4.2]
/vagrant/test_cms_app/db/migrate/20170729030537_create_spina_tables.spina.rb:2:in `<top (required)>'
StandardError: Directly inheriting from ActiveRecord::Migration is not supported. Please specify the Rails release the migration was written for:
Kohei909Otsuka commented 7 years ago

spina Directly inheriting from ActiveRecord::Migration is not supported

で検索して違うgemのissueだけど、同じようなものをを発見

Kohei909Otsuka commented 7 years ago
CreateSpinaNavigations < ActiveRecord::Migration[5.1]

gemによって作成されたmigrationに上記のパッチ[5.1]をあてることでこれまでのエラーはでなくなった。

がdatabaseへのaccessをdenyされる。password周り。

unning via Spring preloader in process 3945

   identical  config/initializers/spina.rb
   identical  config/initializers/carrierwave.rb
        rake  spina:install:migrations

        rake  db:migrate
/home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/mysql2-0.4.8/lib/mysql2/client.rb:89:in `connect': Access denied for user 'root'@'localhost' (using password: NO) (Mysql2::Error)

database.ymlは下記

default: &default
  adapter: mysql2
  encoding: utf8
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: root
  password: Kho-tska4
  socket: /var/lib/mysql/mysql.sock

これは通る。

mysql -uroot -pKho-tska4
Kohei909Otsuka commented 7 years ago

これは多分rails g spina:installのバグだと思う。

このコマンド経由だと,dbにアクセスできないと怒られるが、実際にはdbに入ってる。

実際にはconnectのエラーは発生していない。動いた。

Kohei909Otsuka commented 7 years ago

first_login

入ってすぐのAdminのログインコードとパスワードはREADME.mdにあればいいと思った。

Kohei909Otsuka commented 7 years ago

issue no1 migration file created by rails g spina:install is not runnable

sumary

READMEに書いてあるrails g spina:installによって作成されるmigrationファイルは実行できない

detail

環境

[vagrant@localhost test_cms_app]$ cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[vagrant@localhost test_cms_app]$ ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
[vagrant@localhost test_cms_app]$ rails -v
Rails 5.1.2

再現方法

input

bundle exec rake db:create
rails g spina:install

output

[vagrant@localhost cms]$ bundle exec rails g spina:install
Running via Spring preloader in process 4682
      create  config/initializers/spina.rb
      create  config/initializers/carrierwave.rb
       route  mount Spina::Engine => '/'
        rake  spina:install:migrations
Copied migration 20170729055619_create_spina_tables.spina.rb from spina
Copied migration 20170729055620_create_spina_translation_tables.spina.rb from spina
Copied migration 20170729055621_create_spina_navigations.spina.rb from spina
        rake  db:migrate
rake aborted!
StandardError: An error has occurred, all later migrations canceled:

Directly inheriting from ActiveRecord::Migration is not supported. Please specify the Rails release the migration was written for:

  class CreateSpinaTables < ActiveRecord::Migration[4.2]
/vagrant/cms/db/migrate/20170729055619_create_spina_tables.spina.rb:2:in `<top (required)>'
StandardError: Directly inheriting from ActiveRecord::Migration is not supported. Please specify the Rails release the migration was written for:

  class CreateSpinaTables < ActiveRecord::Migration[4.2]
/vagrant/cms/db/migrate/20170729055619_create_spina_tables.spina.rb:2:in `<top (required)>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
/home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/mysql2-0.4.8/lib/mysql2/client.rb:120:in `_query': Mysql2::Error: Table 'cms_development.spina_accounts' doesn't exist: SHOW FULL FIELDS FROM `spina_accounts` (ActiveRecord::StatementInvalid)
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/mysql2-0.4.8/lib/mysql2/client.rb:120:in `block in query'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/mysql2-0.4.8/lib/mysql2/client.rb:119:in `handle_interrupt'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/mysql2-0.4.8/lib/mysql2/client.rb:119:in `query'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:214:in `block (2 levels) in execute'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.2/lib/active_support/dependencies/interlock.rb:46:in `block in permit_concurrent_loads'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.2/lib/active_support/concurrency/share_lock.rb:185:in `yield_shares'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.2/lib/active_support/dependencies/interlock.rb:45:in `permit_concurrent_loads'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:213:in `block in execute'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/connection_adapters/abstract_adapter.rb:612:in `block (2 levels) in log'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/connection_adapters/abstract_adapter.rb:611:in `block in log'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.2/lib/active_support/notifications/instrumenter.rb:21:in `instrument'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/connection_adapters/abstract_adapter.rb:603:in `log'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:212:in `execute'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/connection_adapters/mysql/database_statements.rb:22:in `execute'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:223:in `execute_and_free'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:854:in `column_definitions'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/connection_adapters/abstract_adapter.rb:166:in `columns'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/connection_adapters/schema_cache.rb:67:in `columns'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/connection_adapters/schema_cache.rb:73:in `columns_hash'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/model_schema.rb:471:in `load_schema!'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/attributes.rb:233:in `load_schema!'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/attribute_decorators.rb:50:in `load_schema!'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/model_schema.rb:464:in `block in load_schema'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/model_schema.rb:461:in `load_schema'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/model_schema.rb:353:in `attribute_types'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/attribute_methods.rb:179:in `has_attribute?'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/relation/query_methods.rb:1051:in `block in arel_columns'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/relation/query_methods.rb:1050:in `map'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/relation/query_methods.rb:1050:in `arel_columns'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/relation/query_methods.rb:1043:in `build_select'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/relation/query_methods.rb:953:in `build_arel'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/relation/query_methods.rb:918:in `arel'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/relation/query_methods.rb:94:in `bound_attributes'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/relation/finder_methods.rb:319:in `exists?'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/querying.rb:3:in `exists?'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/spina-0.11.1/lib/generators/spina/install_generator.rb:31:in `create_account'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/thor-0.19.4/lib/thor/command.rb:27:in `run'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/thor-0.19.4/lib/thor/invocation.rb:126:in `invoke_command'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/thor-0.19.4/lib/thor/invocation.rb:133:in `block in invoke_all'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/thor-0.19.4/lib/thor/invocation.rb:133:in `each'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/thor-0.19.4/lib/thor/invocation.rb:133:in `map'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/thor-0.19.4/lib/thor/invocation.rb:133:in `invoke_all'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/thor-0.19.4/lib/thor/group.rb:232:in `dispatch'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/thor-0.19.4/lib/thor/base.rb:444:in `start'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/generators.rb:269:in `invoke'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/commands/generate/generate_command.rb:24:in `perform'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/thor-0.19.4/lib/thor/command.rb:27:in `run'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/thor-0.19.4/lib/thor/invocation.rb:126:in `invoke_command'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/thor-0.19.4/lib/thor.rb:369:in `dispatch'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/command/base.rb:63:in `perform'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/command.rb:44:in `invoke'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/commands.rb:16:in `<top (required)>'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.2/lib/active_support/dependencies.rb:292:in `require'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.2/lib/active_support/dependencies.rb:292:in `block in require'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.2/lib/active_support/dependencies.rb:258:in `load_dependency'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.2/lib/active_support/dependencies.rb:292:in `require'
    from /vagrant/cms/bin/rails:9:in `<top (required)>'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.2/lib/active_support/dependencies.rb:286:in `load'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.2/lib/active_support/dependencies.rb:286:in `block in load'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.2/lib/active_support/dependencies.rb:258:in `load_dependency'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.2/lib/active_support/dependencies.rb:286:in `load'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from -e:1:in `<main>'

solution

一時的な手動によるパッチ

db/migrate/*.rbの中身を下記のように書き換える

before

class CreateSpinaTables < ActiveRecord::Migration
end

after

class CreateSpinaTables < ActiveRecord::Migration[5.1]
end

根本的な解決

作成されるmigrationを実行可能な状態で書き出すようにソースを書き換える

案1gemを使う 案2自前で開発する

Kohei909Otsuka commented 7 years ago

migration file created by rails g spina:install is not runnable

sumary

migration file created by rails g spina:install is not runnable with rails 5.1

detail

development

how to play

input

bundle exec rake db:create
rails g spina:install

output

[vagrant@localhost cms]$ bundle exec rails g spina:install
Running via Spring preloader in process 4682
      create  config/initializers/spina.rb
      create  config/initializers/carrierwave.rb
       route  mount Spina::Engine => '/'
        rake  spina:install:migrations
Copied migration 20170729055619_create_spina_tables.spina.rb from spina
Copied migration 20170729055620_create_spina_translation_tables.spina.rb from spina
Copied migration 20170729055621_create_spina_navigations.spina.rb from spina
        rake  db:migrate
rake aborted!
StandardError: An error has occurred, all later migrations canceled:

Directly inheriting from ActiveRecord::Migration is not supported. Please specify the Rails release the migration was written for:

  class CreateSpinaTables < ActiveRecord::Migration[4.2]
/vagrant/cms/db/migrate/20170729055619_create_spina_tables.spina.rb:2:in `<top (required)>'
StandardError: Directly inheriting from ActiveRecord::Migration is not supported. Please specify the Rails release the migration was written for:

  class CreateSpinaTables < ActiveRecord::Migration[4.2]
/vagrant/cms/db/migrate/20170729055619_create_spina_tables.spina.rb:2:in `<top (required)>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
/home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/mysql2-0.4.8/lib/mysql2/client.rb:120:in `_query': Mysql2::Error: Table 'cms_development.spina_accounts' doesn't exist: SHOW FULL FIELDS FROM `spina_accounts` (ActiveRecord::StatementInvalid)
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/mysql2-0.4.8/lib/mysql2/client.rb:120:in `block in query'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/mysql2-0.4.8/lib/mysql2/client.rb:119:in `handle_interrupt'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/mysql2-0.4.8/lib/mysql2/client.rb:119:in `query'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:214:in `block (2 levels) in execute'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.2/lib/active_support/dependencies/interlock.rb:46:in `block in permit_concurrent_loads'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.2/lib/active_support/concurrency/share_lock.rb:185:in `yield_shares'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.2/lib/active_support/dependencies/interlock.rb:45:in `permit_concurrent_loads'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:213:in `block in execute'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/connection_adapters/abstract_adapter.rb:612:in `block (2 levels) in log'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/connection_adapters/abstract_adapter.rb:611:in `block in log'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.2/lib/active_support/notifications/instrumenter.rb:21:in `instrument'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/connection_adapters/abstract_adapter.rb:603:in `log'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:212:in `execute'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/connection_adapters/mysql/database_statements.rb:22:in `execute'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:223:in `execute_and_free'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:854:in `column_definitions'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/connection_adapters/abstract_adapter.rb:166:in `columns'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/connection_adapters/schema_cache.rb:67:in `columns'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/connection_adapters/schema_cache.rb:73:in `columns_hash'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/model_schema.rb:471:in `load_schema!'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/attributes.rb:233:in `load_schema!'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/attribute_decorators.rb:50:in `load_schema!'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/model_schema.rb:464:in `block in load_schema'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/model_schema.rb:461:in `load_schema'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/model_schema.rb:353:in `attribute_types'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/attribute_methods.rb:179:in `has_attribute?'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/relation/query_methods.rb:1051:in `block in arel_columns'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/relation/query_methods.rb:1050:in `map'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/relation/query_methods.rb:1050:in `arel_columns'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/relation/query_methods.rb:1043:in `build_select'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/relation/query_methods.rb:953:in `build_arel'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/relation/query_methods.rb:918:in `arel'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/relation/query_methods.rb:94:in `bound_attributes'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/relation/finder_methods.rb:319:in `exists?'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.1.2/lib/active_record/querying.rb:3:in `exists?'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/spina-0.11.1/lib/generators/spina/install_generator.rb:31:in `create_account'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/thor-0.19.4/lib/thor/command.rb:27:in `run'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/thor-0.19.4/lib/thor/invocation.rb:126:in `invoke_command'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/thor-0.19.4/lib/thor/invocation.rb:133:in `block in invoke_all'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/thor-0.19.4/lib/thor/invocation.rb:133:in `each'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/thor-0.19.4/lib/thor/invocation.rb:133:in `map'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/thor-0.19.4/lib/thor/invocation.rb:133:in `invoke_all'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/thor-0.19.4/lib/thor/group.rb:232:in `dispatch'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/thor-0.19.4/lib/thor/base.rb:444:in `start'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/generators.rb:269:in `invoke'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/commands/generate/generate_command.rb:24:in `perform'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/thor-0.19.4/lib/thor/command.rb:27:in `run'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/thor-0.19.4/lib/thor/invocation.rb:126:in `invoke_command'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/thor-0.19.4/lib/thor.rb:369:in `dispatch'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/command/base.rb:63:in `perform'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/command.rb:44:in `invoke'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/commands.rb:16:in `<top (required)>'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.2/lib/active_support/dependencies.rb:292:in `require'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.2/lib/active_support/dependencies.rb:292:in `block in require'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.2/lib/active_support/dependencies.rb:258:in `load_dependency'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.2/lib/active_support/dependencies.rb:292:in `require'
    from /vagrant/cms/bin/rails:9:in `<top (required)>'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.2/lib/active_support/dependencies.rb:286:in `load'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.2/lib/active_support/dependencies.rb:286:in `block in load'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.2/lib/active_support/dependencies.rb:258:in `load_dependency'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.2/lib/active_support/dependencies.rb:286:in `load'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /home/vagrant/.rbenv/versions/2.4.1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from -e:1:in `<main>'

solution

temporary path by hand

rewrite db/migrate/*.rb like below

before

class CreateSpinaTables < ActiveRecord::Migration
end

after

class CreateSpinaTables < ActiveRecord::Migration[5.1]
end

possible solution

I guees we can write code to render migrate version like devise gem does

it uses rendering engine to solve this :) see following codes.

https://github.com/plataformatec/devise/blob/v4.2.0/lib/generators/active_record/devise_generator.rb#L12-L18

https://github.com/plataformatec/devise/blob/v4.2.0/lib/generators/active_record/templates/migration.rb

Kohei909Otsuka commented 7 years ago

issue をあげました。

https://github.com/denkGroot/Spina/issues/287

takaishi commented 7 years ago

ふりかえりしました!

kou commented 7 years ago

お疲れ様でした! closeしますが、引き続きここを使っても大丈夫です! チャットのURLは https://gitter.im/oss-gate/devel です!