配置这个环境花了好几天时间,发现基本没人用ruby连接SQLServer,而且本来ROR就是比较小众的开发环境,因此在度娘找这方面的资料基本不可行。所以各位兄弟开发ROR必须一定强烈建议用Google。
注意,所有的版本都用本文提及的,不然版本控制不对会引起一系列悲惨事件...
已经把以下提及的所有安装文件都上传到网盘,自行下载~ 地址:RORINSTALLPACKAGE_免费高速下载|百度网盘-分享无限制
WIN10 + SQLSERVER2017 + RUBY2.3.1 + RAILS3.2.13 安装步骤
(共13步)
1.[安装ruby2.3.1]
双击安装rubyInstall-2.3.1-x64, 下一步
三个checkbox都选择,下一步
安装完成后会生成Ruby24-x64文件夹
打开命令行
执行$ruby -v ,确认ruby安装完成
2. [更改gem源]
打开命令行
执行$gem source -r https://rubygems.org/
返回https://rubygems.org/ removed from sources
执行$gem source -a http://gems.ruby-china.com
返回http://gems.ruby-china.com added to sources
3. [安装Rails3.2.13]
打开命令行
执行$gem install rails -v3.2.13
其中若提示:“overwrite the executable?[yN]”, 输入“y”
返回Done installing documentation for bundler……
执行$rails -v, 确认rails安装完成
4. [安装devkit]
在Ruby23-x64文件夹新建一个名为devkit的文件夹
双击安装Devkit-mingw64-4.7.2-20130224-1432.sfx
路径选择刚创建的devkit文件夹,下一步
安装完成
打开命令行,cd到devkit路径下
执行:$ruby dk.rb init
返回:……Initialization complete! ……
执行:$ruby dk.rb install
返回:……[info]Updating convenience notice gem override for……
执行:$gem install rdiscount --platform=ruby
返回:……1 gem installed……
5. [安装RubyMine]
双击安装RubyMine-2018.3,选择安装路径,下一步
选择64-bit launcher, Add launchers dir to the PATH, Add “Open Folder as Project”, Download and install JRE x86 by JetBrains,下一步
默认文件夹名,下一步
安装完成后重启
重新打开RubyMine,按提示设置RubyMine
导入项目,设置File->Setting->搜索SDK,指定ruby2.3.1
配置Gemfile,详情见文章最后!
执行$bundle install
6. [安装SQLSERVER]
双击安装SQLServer2017-SSEI-Dev
选择“基本”,下一步
选择“安装位置“,安装
7. [安装SQLSERVER MANAGEMENT STUDIO]
双击安装SSMS-Setup-ENU
安装完成需要重启
打开SSMS,自定义Server name,Authentication:Windows Authentication
连接数据库成功
8. [创建数据库用户名与密码]
打开SSMS,右键server,选择Properties,选择Security,选择SQL Server and Windows Authentication mode,保存
打开server,选择Security,选择Logins,右键sa,选择Properties,在General选项卡中修改Login name:sa,修改password:123456,在status选项卡中修改Login为Enabled,保存
打开“开始”菜单,找到Microsoft SQL Server2017,打开 SQL Server 2017 Configuration Manager,选择SQL Server服务,右键SQL Server(MSSQLSERVER),选择“重新启动”
9. [创建数据库]
打开SSMS,打开Server,右键Databases,选择New Database,输入Database name: wynn,保存
10. [打开TCP协议]
打开“开始”菜单,找到Microsoft SQL Server2017,打开 SQL Server 2017 Configuration Manager,选择SQL Server网络配置,选择MSSQLSERVER的协议,右键Named Pipes,选择“启用”,右键TCP/IP,选择“启用”,左侧选择SQL Server服务,右键SQL Server(MSSQLSERVER),选择“重新启动”
11. [修改database.yml]
打开RubyMine,在config文件夹中找到database.yml,修改host为本机的名字,详情见SSMS中,右键server,选择Properties,第一个属性Name,通常命名格式为:DESKTOP-XXXXXXXX
12. [迁移数据库]
打开RubyMine,在Terminal执行命令$rake db:migrate
13. [初始化数据]
打开RubyMine,在Terminal执行命令$rake db:seed
至此,相信执行命令$rails s 可以正常运行项目!
----------------------------------------------------------------------------------------------------------------------------------------
以下是小编项目的Gemfile,需要安装"activerecord-sqlserver-adapter"和"tiny_tds",其他有需要用到的gem可以参考我的版本。
source 'http://gems.ruby-china.com/'
gem 'rails', '3.2.13'
gem 'will_paginate', '3.0.7'
gem 'eventmachine', '1.0.6'
gem 'thin', '1.3.0'
gem 'uuid', '2.3.2'
gem 'acts_as_tree', '1.2.0'
gem 'delayed_job_active_record', '0.4.2'
gem 'daemons', '1.1.9'
gem 'ruby-ole', '~> 1.0'
gem 'spreadsheet', '~> 0.8.3'
gem 'galetahub-simple_captcha', '0.1.5', :require => 'simple_captcha'
gem 'enumerize', '0.7.0'
gem 'state_machine', '1.2.0'
gem 'wkhtmltopdf'
gem 'wkhtmltopdf-binary'
gem 'wicked_pdf'
gem 'activerecord-sqlserver-adapter'
gem 'tiny_tds'
-------------------------------------------------------------------------------------------------------------------------------------------
有几个点需要注意:
1. Gemfile中gem的顺序需要留意,有可能因为顺序导致不可描述的问题。
2. SQLServer和其他数据库的语言有点不一样,例如修改表字段,正常可以"modify column_name",但是SQLServer只能"alter column_name",且不能加双引号。
3. 以上任何操作,注意路径尽量不要出现中文,否则可能出现不可描述的问题。
-------------------------------------------------------------------------------------------------------------------------------------------